tag:blogger.com,1999:blog-90166017214088607032023-11-16T08:59:12.810-08:00Technology & Beyondsumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-9016601721408860703.post-79503640784444650462015-01-03T00:19:00.000-08:002015-01-03T00:19:38.988-08:00Liskov Substitution Principle (LSP)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<br /></div>
<h4 style="text-align: left;">
<b><i><span style="font-family: Courier New, Courier, monospace;">The fourth article in the SOLID Principles series describes the Liskov Substitution Principle (LSP). The LSP specifies that functions that use pointers of references to base classes must be able to use objects of derived classes without knowing it.</span></i></b></h4>
<div>
<br /></div>
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">The Principle</span></b></h3>
<div>
The Liskov Substitution Principle (LSP) can be worded in various ways. The original wording was described by Barbara Liskov as, "If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behaviour of P is unchanged when o1 is substituted for o2 then S is a subtype of T". Robert Cecil Martin's simpler version is, "Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it". For languages such as C#, this can be changed to "Code that uses a base class must be able to substitute a subclass without knowing it".</div>
<div>
<br /><h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Case and Implementations </span></b></h4>
</div>
<div>
The LSP applies to inheritance hierarchies. It specifies that you should design your classes so that client dependencies can be substituted with subclasses without the client knowing about the change. All subclasses must, therefore, operate the same manner as their base classes. The specific functionality of the subclass may be different but must conform to the expected behaviour of the base class. To be a true behavioural subtype, the subclass must not only implement the base class' methods and properties but also conform to its implied behaviour. This requires compliance with several rules.</div>
<div>
The first rule is that there should be contravariance between parameters of the base class' methods and the matching parameters in subclasses. This means that the parameters in subclasses must either be the same types as those in the base class or must be less restrictive. Similarly, there must be covariance between method return values in the base class and its subclasses. This specifies that the subclass' return types must be the same as, or more restrictive than, the base class' return types.</div>
<div>
The next rule concerns preconditions and postconditions. A precondition of a class is a rule that must be in place before an action can be taken. For example, before calling a method that reads from a database you may need to satisfy the precondition that the database connection is open. </div>
<div>
<br /></div>
<div>
Postconditions describe the state of objects after a process is completed. For example, it may be assumed that the database connection is closed after executing a SQL statement. The LSP states that the preconditions of a base class must not be strengthened by a subclass and that postconditions cannot be weakened in subclasses.</div>
<div>
<br /></div>
<div>
Next the LSP considers invariants. An invariant describes a condition of a process that is true before the process begins and remains true afterwards. For example, a class may include a method that reads text from a file. If the method handles the opening and closing of the file, an invariant may be that the file is not open before the call or afterwards. To comply with the LSP, the invariants of a base class must not be changed by a subclass.</div>
<div>
<br /></div>
<div>
The next rule is the history constraint. By their nature, subclasses include all of the methods and properties of their superclasses. They may also add further members. The history constraint says that new or modified members should not modify the state of an object in a manner that would not be permitted by the base class. For example, if the base class represents an object with a fixed size, the subclass should not permit this size to be modified.</div>
<div>
<br /></div>
<div>
The final LSP rule specifies that a subclass should not throw exceptions that are not thrown by the base class unless they are subtypes of exceptions that may be thrown by the base class.</div>
<div>
The above rules cannot be controlled by the compiler or limited by object-oriented programming languages. Instead, you must carefully consider the design of class hierarchies and of types that may be subclassed in the future. Failing to do so risks the creation of subclasses that break rules and create bugs in types that are dependent upon them.</div>
<div>
<br /></div>
<div>
One common indication of non-compliance with the LSP is when a client class checks the type of its dependencies. This may be by reading a property of an object that artificially describes its type or by using reflection to obtain the type. Often a switch statement will be used to perform a different action according to the type of the dependency. This additional complexity also violates the Open / Closed Principle (OCP), as the client class will need to be modified as further subclasses are introduced.</div>
<div>
<br /></div>
<div>
To demonstrate the application of the LSP, we can consider code that violates it and explain how the classes can be refactored to comply with the principle. The following code shows the outline of several classes:</div>
<div>
<br /></div>
<blockquote class="tr_bq">
public class Project<br />{<br />public Collection ProjectFiles { get; set; }<br />public void LoadAllFiles()<br />{<br />foreach (ProjectFile file in ProjectFiles)<br />{<br />file.LoadFileData();<br />}<br />}<br />public void SaveAllFiles()<br />{<br />foreach (ProjectFile file in ProjectFiles)<br />{<br />if (file as ReadOnlyFile == null)<br />file.SaveFileData();<br />}<br />}<br />}<br /><br />public class ProjectFile<br />{<br />public string FilePath { get; set; }<br />public byte[] FileData { get; set; }<br />public void LoadFileData()<br />{<br />// Retrieve FileData from disk<br />}<br />public virtual void SaveFileData()<br />{<br />// Write FileData to disk<br />}<br />}<br /><br />public class ReadOnlyFile : ProjectFile<br />{<br />public override void SaveFileData()<br />{<br />throw new InvalidOperationException();<br />}<br />}</blockquote>
<div>
The first class represents a project that contains a number of project files. Two methods are included that load the file data for every project file and save all of the files to disk. The second class describes a project file. This has a property for the file name and a byte array that contains file data once loaded. Two methods allow the file data to be loaded or saved.</div>
<div>
<br /></div>
<div>
The third class may have been added to the solution at a later time to the other two classes, perhaps when a new requirement was created that some project files would be read-only. The ReadOnlyFile class inherits its functionality from ProjectFile. However, as read-only files cannot be saved, the SaveFileData method has been overridden so that an invalid operation exception is thrown.</div>
<div>
The ReadOnlyFile class violates the LSP in several ways. Although all of the members of the base class are implemented, clients cannot substitute ReadOnlyFile objects for ProjectFile objects. This is clear in the SaveFileData method, which introduces an exception that cannot be thrown by the base class. Next, a postcondition of the SaveFileData method in the base class is that the file has been updated on disk. This is not the case with the subclass. The final problem can be seen in the SaveAllFiles method of the Project class. Here the programmer has added an if statement to ensure that the file is not read-only before attempting to save it. This violates the LSP and the OCP as the Project class must be modified to allow new ProjectFile subclasses to be detected.</div>
<div>
<br /></div>
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Refactored Code</span></b></h3>
<div>
There are various ways in which the code can be refactored to comply with the LSP. One is shown below. Here the Project class has been modified to include two collections instead of one. One collection contains all of the files in the project and one holds references to writeable files only. The LoadAllFiles method loads data into all of the files in the AllFiles collection. As the files in the WriteableFiles collection will be a subset of the same references, the data will be visible via these also. The SaveAllFiles method has been replaced with a method that saves only the writeable files.</div>
<div>
The ProjectFile class now contains only one method, which loads the file data. This method is required for both writeable and read-only files. The new WriteableFile class extends ProjectFile, adding a method that saves the file data. This reversal of the hierarchy means that the code now complies with the LSP.</div>
<div>
<br /></div>
<h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">The refactored code is as follows:</span></b></h4>
<div>
<br /></div>
<blockquote>
public class Project<br />{<br />public Collection AllFiles { get; set; }<br />public Collection WriteableFiles { get; set; }<br />public void LoadAllFiles()<br />{<br />foreach (ProjectFile file in AllFiles)<br />{<br />file.LoadFileData();<br />}<br />}<br />public void SaveAllWriteableFiles()<br />{<br />foreach (WriteableFile file in WriteableFiles)<br />{<br />file.SaveFileData();<br />}<br />}<br />}<br /><br />public class ProjectFile<br />{<br />public string FilePath { get; set; }<br />public byte[] FileData { get; set; }<br />public void LoadFileData()<br />{<br />// Retrieve FileData from disk<br />}<br />}<br /><br />public class WriteableFile : ProjectFile<br />{<br />public void SaveFileData()<br />{<br />// Write FileData to disk<br />}<br />}</blockquote>
</div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com0tag:blogger.com,1999:blog-9016601721408860703.post-72346097267170149972015-01-01T20:22:00.001-08:002015-01-01T20:22:28.848-08:00The Open/Closed Principle<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<b><i><br /></i></b></div>
<div class="tr_bq">
<b><i>The third article in the SOLID Principles series describes the Open / Closed Principle (OCP). The OCP states that all classes and similar units of source code should be open for extension but closed for modification.</i></b></div>
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">The Principle</span></b></h3>
The Open / Closed Principle (OCP) states that classes should be open for extension but closed for modification. "Open to extension" means that you should design your classes so that new functionality can be added as new requirements are generated. "Closed for modification" means that once you have developed a class you should never modify it, except to correct bugs.<br />
<br />
The two parts of the principle appear to be contradictory. However, if you correctly structure your classes and their dependencies you can add functionality without editing existing source code. Generally you achieve this by referring to abstractions for dependencies, such as interfaces or abstract classes, rather than using concrete classes. Such interfaces can be fixed once developed so the classes that depend upon them can rely upon unchanging abstractions. Functionality can be added by creating new classes that implement the interfaces.<br />
Applying the OCP to your projects limits the need to change source code once it has been written, tested and debugged. This reduces the risk of introducing new bugs to existing code, leading to more robust software. Another side effect of the use of interfaces for dependencies is reduced coupling and increased flexibility.<br />
<br />
<h4 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Example Code</span></h4>
To demonstrate the application of the OCP, we can consider some C# code that violates it and explain how the classes can be refactored to comply with the principle:<br />
<br />
<blockquote class="tr_bq" style="text-align: left;">
public class Logger<br />{<br />public void Log(string message, LogType logType)<br />{<br />switch (logType)<br />{<br />case LogType.Console:<br />Console.WriteLine(message);<br />break;<br />case LogType.File:<br />// Code to send message to printer<br />break;<br />}<br />}<br />}<br /><br />public enum LogType<br />{<br />Console,<br />File<br />}</blockquote>
The above sample code is a basic module for logging messages. The Logger class has a single method that accepts a message to be logged and the type of logging to perform. The switch statement changes the action according to whether the program is outputting messages to the console or to the default printer.<br />
<br />
If you wished to add a third type of logging, perhaps sending the logged messages to a message queue or storing them in a database, you could not do so without modifying the existing code. Firstly, you would need to add new LogType constants for the new methods of logging messages. Secondly you would need to extend the switch statement to check for the new LogTypes and output or store messages accordingly. This violates the OCP.<br />
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Refactored Code</span></b></h3>
We can easily refactor the logging code to achieve compliance with the OCP. Firstly we need to remove the LogType enumeration, as this restricts the types of logging that can be included. Instead of passing the type to the Logger, we will create a new class for each type of message logger that we require. In the final code we will have two such classes, named "ConsoleLogger" and "PrinterLogger". Additional logging types could be added later without changing any existing code.<br />
The Logger class still performs all logging but using one of the message logger classes described above to output a message. In order that the classes are not tightly coupled, each message logger type implements the IMessageLogger interface. The Logger class is never aware of the type of logging being used as its dependency is provided as an IMessageLogger instance using constructor injection.<br />
<br />
<h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">The refactored code is as follows:</span></b></h4>
<blockquote>
public class Logger<br />{<br />IMessageLogger _messageLogger;<br />public Logger(IMessageLogger messageLogger)<br />{<br />_messageLogger = messageLogger;<br />}<br />public void Log(string message)<br />{<br />_messageLogger.Log(message);<br />}<br />}<br /><br />public interface IMessageLogger<br />{<br />void Log(string message);<br />}<br /><br />public class ConsoleLogger : IMessageLogger<br />{<br />public void Log(string message)<br />{<br />Console.WriteLine(message);<br />}<br />}<br /><br />public class PrinterLogger : IMessageLogger<br />{<br />public void Log(string message)<br />{<br />// Code to send message to printer<br />}<br />}</blockquote>
</div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com0tag:blogger.com,1999:blog-9016601721408860703.post-78118840865283728272014-12-31T21:35:00.004-08:002014-12-31T21:35:58.069-08:00Single Responsibility Principle <div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;" trbidi="off">
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">A brief Intro</span></b></h3>
<h3 style="text-align: left;">
<span style="font-weight: normal;">The SOLID Principles series describes the Single Responsibility Principle (SRP). The SRP states that each class or similar unit of code should have one responsibility only and, therefore, only one reason to change.</span></h3>
<br />
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">The Principle</span></h3>
The Single Responsibility Principle (SRP) states that there should never be more than one reason for a class to change. This means that every class, or similar structure, in your code should have only one job to do. Everything in the class should be related to that single purpose. It does not mean that your classes should only contain one method or property. There may be many members as long as they relate to the single responsibility. It may be that when the one reason to change occurs, multiple members of the class may need modification. It may also be that multiple classes will require updates.<br />
<br />
Application of the SRP can change your code considerably. One key change is that the classes in your projects become smaller and cleaner. The number of classes present in a solution may increase accordingly so it is important to organise them well using namespaces and project folders. The creation of classes that are tightly focussed on a single purpose leads to code that is simpler to understand and maintain.<br />
<br />
A further benefit of having small, cohesive classes is that the chances of a class containing bugs is lowered. This reduces the need for changes so the code is less fragile. As the classes perform only one duty, multiple classes will work together to achieve larger tasks. Along with the other principles this permits looser coupling. It can also make it easier to modify the overall software, either by extending existing classes or introducing new, interchangeable versions.<br />
Example Code<br />
To demonstrate the application of the SRP, we can consider an example C# class that violates it and explain how the class can be refactored to comply with the principle:<br />
<blockquote class="tr_bq">
<ol style="text-align: left;">
<li>public class OxygenMeter</li>
<li>{</li>
<li>public double OxygenSaturation { get; set; }</li>
<li>public void ReadOxygenLevel()</li>
<li>{</li>
<li>using (MeterStream ms = new MeterStream("O2"))</li>
<li>{</li>
<li>int raw = ms.ReadByte();</li>
<li>OxygenSaturation = (double)raw / 255 * 100;</li>
<li>}</li>
<li>}</li>
<li>public bool OxygenLow()</li>
<li>{</li>
<li>return OxygenSaturation <= 75;</li>
<li>}</li>
<li>public void ShowLowOxygenAlert()</li>
<li>{</li>
<li>Console.WriteLine("Oxygen low ({0:F1}%)", OxygenSaturation);</li>
<li>}</li>
<li>}</li>
</ol>
</blockquote>
<br />
<br />
<blockquote class="tr_bq" style="text-align: left;">
code above is a class that communicates with a hardware device to monitor the oxygen levels in some water. The class includes a method named "ReadOxygenLevel" that retrieves a value from a stream generated by the oxygen monitoring hardware. It converts the value to a percentage and stores it in the OxygenSaturation property. The second method, "OxygenLow", checks the oxygen saturation to ensure that it exceeds the minimum level of 75%. The "ShowLowOxygenAlert" shows a warning that contains the current saturation value.</blockquote>
<br />
<br />
There are at least three reasons for change within the OxygenMeter class. If the oxygen monitoring hardware is replaced the ReadOxygenLevel method will need to be updated. If the process for determining low oxygen is changed, perhaps to include a temperature variable, the class will need updating. Finally, if the alerting requirements become more sophisticated than outputting text to the console, the ShowLowOxygenAlert method will need to be rewritten.<br />
<br />
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Refactored Code</span></h3>
<br />
To refactor the code we will separate the functionality into three classes. The first is the OxygenMeter class. This retains the OxygenSaturation property and the ReadOxygenLevel method. You could decide to split these members into separate classes. In this case we will keep them together as they are closely related. The other methods are removed so that the only reason for change is replacement of the monitoring hardware.<br />
The second class is named "OxygenSaturationChecker". This class includes a single method that compares the oxygen level with the minimum acceptable value. The method is the same as the original version except for the addition of a parameter that injects an OxygenMeter object containing the saturation level to test. The only reason for the class to change is if the test process is changed.<br />
The final class is named "OxygenAlerter". This displays an alert that includes the current oxygen saturation level. Again, the OxygenMeter dependency is injected. The one reason for the class to change is if the alerting system is updated.<br />
NB: The refactored example code below breaks other SOLID principles in order that the application of the SRP is visible. Further refactoring of this example is necessary to achieve compliance with the other four principles.<br />
<br />
<blockquote class="tr_bq">
<ol style="text-align: left;">
<li>public class OxygenMeter</li>
<li>{</li>
<li>public double OxygenSaturation { get; set; }</li>
<li>public void ReadOxygenLevel()</li>
<li>{</li>
<li>using (MeterStream ms = new MeterStream("O2"))</li>
<li>{</li>
<li>int raw = ms.ReadByte();</li>
<li>OxygenSaturation = (double)raw / 255 * 100;</li>
<li>}</li>
<li>}</li>
<li>}</li>
</ol>
</blockquote>
<br />
<br />
<blockquote class="tr_bq">
<ol style="text-align: left;">
<li>public class OxygenSaturationChecker</li>
<li>{</li>
<li>public bool OxygenLow(OxygenMeter meter)</li>
<li>{</li>
<li>return meter.OxygenSaturation <= 75;</li>
<li>}</li>
<li>}</li>
</ol>
</blockquote>
<br />
<br />
<blockquote class="tr_bq" style="text-align: left;">
<ol style="text-align: left;">
<li>public class OxygenAlerter</li>
<li>{</li>
<li>public void ShowLowOxygenAlert(OxygenMeter meter)</li>
<li>{</li>
<li>Console.WriteLine("Oxygen low ({0:F1}%)", meter.OxygenSaturation);</li>
<li>}</li>
<li>}</li>
</ol>
</blockquote>
</div>
</div>
</div>
</div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com0tag:blogger.com,1999:blog-9016601721408860703.post-48310540859134145762014-12-30T20:16:00.002-08:002014-12-30T20:16:56.934-08:00SOLID Principals<div dir="ltr" style="text-align: left;" trbidi="on">
<b>The SOLID Principles</b><br />
<br />
<br />
Since its gonna be new year and my gaming article wasn't ready enough to be published,This is the first article in a series of six that will shed some light on the basic concepts of Object Oriented design and programming. The SOLID principles provide five guidelines that, when followed, can dramatically enhance the maintainability of software.<br />
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">SOLID</span></b></h3>
The SOLID principles are five dependency management for object oriented programming and design. The SOLID acronym was introduced by Robert Cecil Martin, also known as "Uncle Bob". Each letter represents another three-letter acronym that describes one principle.<br />
When working with software in which dependency management is handled badly, the code can become rigid, fragile and difficult to reuse. Rigid code is that which is difficult to modify, either to change existing functionality or add new features. Fragile code is susceptible to the introduction of bugs, particularly those that appear in a module when another area of code is changed. If you follow the SOLID principles, you can produce code that is more flexible and robust, and that has a higher possibility for reuse.<br />
This article gives a high-level overview of the five principles. Future articles in the series will describe each principle in more detail and provide examples of their application with C# code.<br />
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Single Responsibility Principle(SRP)</span></b></h3>
The Single Responsibility Principle (SRP) states that there should never be more than one reason for a class to change. This means that you should design your classes so that each has a single purpose. This does not mean that each class should have only one method but that all of the members in the class are related to the class' primary function. Where a class has multiple responsibilities, these should be separated into new classes.<br />
When a class has multiple responsibilities, the likelihood that it will need to be changed increases. Each time a class is modified the risk of introducing bugs grows. By concentrating on a single responsibility, this risk is limited.<br />
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Open / Closed Principle(OCP)</span></b></h3>
The Open / Closed Principle (OCP) specifies that software entities (classes, modules, functions, etc.) should be open for extension but closed for modification. The "closed" part of the rule states that once a module has been developed and tested, the code should only be adjusted to correct bugs. The "open" part says that you should be able to extend existing code in order to introduce new functionality.<br />
As with the SRP, this principle reduces the risk of new errors being introduced by limiting changes to existing code.<br />
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Liskov Substitution Principle (LSP)</span></b></h3>
The Liskov Substitution Principle (LSP) states that "functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it". When working with languages such as C#, this equates to "code that uses a base class must be able to substitute a subclass without knowing it". The principle is named after Barbara Liskov.<br />
If you create a class with a dependency of a given type, you should be able to provide an object of that type or any of its subclasses without introducing unexpected results and without the dependent class knowing the actual type of the provided dependency. If the type of the dependency must be checked so that behaviour can be modified according to type, or if subtypes generated unexpected rules or side effects, the code may become more complex, rigid and fragile.<br />
<br />
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Interface Segregation Principle (ISP)</span></h3>
The Interface Segregation Principle (ISP) specifies that clients should not be forced to depend upon interfaces that they do not use. This rule means that when one class depends upon another, the number of members in the interface that is visible to the dependent class should be minimised.<br />
Often when you create a class with a large number of methods and properties, the class is used by other types that only require access to one or two members. The classes are more tightly coupled as the number of members they are aware of grows. When you follow the ISP, large classes implement multiple smaller interfaces that group functions according to their usage. The dependents are linked to these for looser coupling, increasing robustness, flexibility and the possibility of reuse.<br />
<br />
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Dependency Inversion Principle (DIP)</span></h3>
The Dependency Inversion Principle (DIP) is the last of the five rules. The DIP makes two statements. The first is that high level modules should not depend upon low level modules. Both should depend upon abstractions. The second part of the rule is that abstractions should not depend upon details. Details should depend upon abstractions.<br />
The DIP primarily relates to the concept of layering within applications, where lower level modules deal with very detailed functions and higher level modules use lower level classes to achieve larger tasks. The principle specifies that where dependencies exist between classes, they should be defined using abstractions, such as interfaces, rather than by referencing classes directly. This reduces fragility caused by changes in low level modules introducing bugs in the higher layers. The DIP is often met with the use of dependency injection.</div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com1tag:blogger.com,1999:blog-9016601721408860703.post-66196083184138645182014-12-29T00:27:00.000-08:002014-12-29T00:27:31.315-08:00Building games with HTML5 with Construct 2 <div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<h2 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">What's here for you..</span></h2>
The gaming world has surpassed all the expectations since some time now,and people have started choosing game dev and design as a career option.Many gaming studios have emerged and many gaming engines and frameworks have been created in the last decade.Now , today I will walk you through how to build some decent games using an HTML5 framework - 'Construct 2' and also I will tell you how to get it published on the store and also how it can be made cross platform.<br />
<br />
<br />
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><b>What are</b><b> the things you can choose from..</b></span><div style="text-align: left;">
<span style="font-weight: normal;">Based on how much details you want to put into the game , the gaming engines and framework have been divided into 3 major categories.</span></div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">Low Level HTML5 Canvas API</span></li>
<li><span style="font-weight: normal;">Mid Level gaming APIs<br />1.ImpactJS<br />2.CreateJS<br />3.Box2D</span></li>
<li><span style="font-weight: normal;">Game Creation Studios<br />1.Scirra Construct 2<br />2.Yo Yo Game Studio<br />3.GameSalad Creator</span></li>
</ul>
</h3>
<h4 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Lets Start with where to download Scirra Contruct 2</span></h4>
<h4 style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCbIMQn3b-sr5LNpAzAbrd_KNvfljTFPKypiYimG1tFq9VXyo277TsAnsllGshGTSSORFghmnhMWrOhbNjfLtQoOUDJtk9wik3OhzEE3D4KfrL8hUY31vlLJ-5MAngGwVTKIczVgebbAh4/s1600/Screenshot+(33).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCbIMQn3b-sr5LNpAzAbrd_KNvfljTFPKypiYimG1tFq9VXyo277TsAnsllGshGTSSORFghmnhMWrOhbNjfLtQoOUDJtk9wik3OhzEE3D4KfrL8hUY31vlLJ-5MAngGwVTKIczVgebbAh4/s1600/Screenshot+(33).png" height="225" width="400" /></a><span style="font-family: Courier New, Courier, monospace;"><br /></span></h4>
<h4 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></h4>
<h4 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">So today all whatever Im about to demo will be possible to perform in the free download copy from <a href="http://scirra.com/">http://scirra.com/</a></span></h4>
<br />
<br />
<br />
<b>Getting Familiarised with the UI of Contruct2 </b><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI4rlis289SbQ6XZ1Arb-JwP7mgAkAflpwAWKt7KvtCwRap2WD6ObXsEFVhjoWE6bMyYFvgwEzkyt8F6jr5J49O-gGN-LVZk1yQ7inWsAhVhIuDfT4RgWQ-ZL2VEGRI35g66QWzMeZLNk_/s1600/Screenshot+(34).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI4rlis289SbQ6XZ1Arb-JwP7mgAkAflpwAWKt7KvtCwRap2WD6ObXsEFVhjoWE6bMyYFvgwEzkyt8F6jr5J49O-gGN-LVZk1yQ7inWsAhVhIuDfT4RgWQ-ZL2VEGRI35g66QWzMeZLNk_/s1600/Screenshot+(34).png" height="213" width="400" /></a></div>
<br />
<br />
<br />
<b>This is the pretty self explanatory picture of what are the different part of IDE </b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Some major stuffs one should know before getting their hands dirty are:</b><br />
<br />
<ul style="text-align: left;">
<li><b>Projects Pane: Similar to Visual Studio project pane, this shows all the files and assets in the project.</b></li>
<li><b>Layer Tab: Depicts the different layers in the game Ex. Background and foreground.</b></li>
<li><b>Objects Pane: On the bottom right the object pae will show you all the objects , you have in the game.</b></li>
<li><b>Event Sheet: Will help any developer to trigger events and add or remove events to any object in the game.</b></li>
<li><b>Layout :will deal with the looks and the UI of the game.</b></li>
</ul>
<div>
<b><br /></b>
<h4 style="text-align: left;">
</h4>
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Objects</span></b></h3>
<div>
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtyo7bdyAxDfzT5BlE5N-2LXc59B47UzgOl0dnNK9mAGWoD0HnI2Ba5xbb1oCj2PuPrCSb-4VJsf5n_PmF1_T5Dl34sdaqXde6zPiadppLMMNk1NHFHsidKWmhcY3uLRNMugK7wNFQhs_j/s1600/Screenshot+(36).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtyo7bdyAxDfzT5BlE5N-2LXc59B47UzgOl0dnNK9mAGWoD0HnI2Ba5xbb1oCj2PuPrCSb-4VJsf5n_PmF1_T5Dl34sdaqXde6zPiadppLMMNk1NHFHsidKWmhcY3uLRNMugK7wNFQhs_j/s1600/Screenshot+(36).png" height="225" width="400" /></a></div>
<div>
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b></div>
<div>
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b></div>
<div>
<span style="font-family: inherit; font-weight: normal;">The objects can be loads of different things such as Tiles,Sprites(Image for any character) and Text.To add any object double click "Layout" and select "insert an object".When inserting any new object one should select the "plugin in the dailog box" viz Sprite ; this creates the 'Object Type' and then can be replicated as many times in the project.</span></div>
<div>
<span style="font-family: inherit; font-weight: normal;"><br /></span></div>
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Behaviours</span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijk6yoz6_FFBtq5RiI8tZpRi7x1lJPbq6-FJT1AMNH1xOBt0-ixp53zpOqpE974OxXhl7m7WFZj_7vNcDmPwNV0bqupdFAIwVu5K3h9569G9oYRhf1FwHWgMV8ZRSwqcKHo-dS8jljeFtf/s1600/Screenshot+(37).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijk6yoz6_FFBtq5RiI8tZpRi7x1lJPbq6-FJT1AMNH1xOBt0-ixp53zpOqpE974OxXhl7m7WFZj_7vNcDmPwNV0bqupdFAIwVu5K3h9569G9oYRhf1FwHWgMV8ZRSwqcKHo-dS8jljeFtf/s1600/Screenshot+(37).png" height="400" width="302" /></a></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: inherit; font-weight: normal;">The behaviours are to be binded with the objects and these are built in logics for example lets say you fire a bullet and the the bullet goes in one specific angle. So the angle is the bullets property and bullet is the object here.And it can be added from the properties pane of the respective objects.</span></div>
<div>
<span style="font-family: inherit; font-weight: normal;"><br /></span></div>
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b></div>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b><br /></b>
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b><b><span style="font-family: Courier New, Courier, monospace;">Layout VS Event Sheet</span></b></h3>
Layout determines the arrangement of objects and their orientation in the game .This lets you pick the size and where the objects will be placed and are most pre defined.The event sheet is although the list of actions and events which are mapped to all the onjects in the game and in simple terms is the logic of the objects.<br />
<br />
<h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Event Sheet - Events and Actions</span></b></h4>
<div>
<span style="font-family: Courier New, Courier, monospace;"><b>To be very precise,</b>The Events and Actions are like If and Else Statements.The Event stands for the condition of If Or Else and the Actions stands for the execution the that specific block where the result is true.</span></div>
<div>
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b></div>
<div>
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b></div>
<div>
<span style="font-family: inherit;"><i><u>Events</u></i></span></div>
<br />
<br />
<ul style="text-align: left;">
<li>A logical block that helps the user decide how the game works </li>
<li>The events are triggered on the arrival or when a particular condition comes true. </li>
<li>We can have nested events.</li>
</ul>
<i><u>Actions</u></i><br />
<br />
<ul style="text-align: left;">
<li>Appears when a particular even gets executed </li>
<li>Can have multiple actions for one event.</li>
</ul>
<br />
<br />
<b>Let the Game Begin<br /></b><br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Adding an Background to the layout.</span></b></h3>
<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-PbQB4km67mBjHjSiepBAftbV_KY-_B32Jnt-CA5V57K1MxZoXC1FjwoJVAmyRh7vRTQUMSg9vW4ytYGqyvZhiQzJgiehrJXbX5IOJKGWNne4tkadxOcSQ9gnuKajy9Hn4TuwKD6vPsOs/s1600/Screenshot+(40).png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-PbQB4km67mBjHjSiepBAftbV_KY-_B32Jnt-CA5V57K1MxZoXC1FjwoJVAmyRh7vRTQUMSg9vW4ytYGqyvZhiQzJgiehrJXbX5IOJKGWNne4tkadxOcSQ9gnuKajy9Hn4TuwKD6vPsOs/s1600/Screenshot+(40).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>On the Left hand side you will get the value of layout.keep a note of that , we will require it in sometime</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVVLtosQ-zJm_RvJFd1OBZ5O6a9Q-V6Jx2ThGpaqLrbq1eZ7zb8F5f6AOh-9hPmfTYC3asiad5JLj-zBsmTiLvmOt_oJ2Qrq2M_d9454VZtqovM6QU-mpDyOP5MMk7YOiR6wW6uny60-rw/s1600/Screenshot+(41).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVVLtosQ-zJm_RvJFd1OBZ5O6a9Q-V6Jx2ThGpaqLrbq1eZ7zb8F5f6AOh-9hPmfTYC3asiad5JLj-zBsmTiLvmOt_oJ2Qrq2M_d9454VZtqovM6QU-mpDyOP5MMk7YOiR6wW6uny60-rw/s1600/Screenshot+(41).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Double Click the Layout and select tiled background.and you will find your pointer turning into a cross.when you click on the layout you will have the same screen that of mine.</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpugNdXk7hpULsYxV1ki9i-KXVHt682ZsEKc2hy0EOg0OLF9vtKV2_ltZuiVzQxbH_GBBpAL_8vLG75Tj-uoy7puq-npui_vhn8n6VkvZNNEeoydhPL6qnsld-kvJ2_-olAcC1n7YZEbnK/s1600/Screenshot+(42).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpugNdXk7hpULsYxV1ki9i-KXVHt682ZsEKc2hy0EOg0OLF9vtKV2_ltZuiVzQxbH_GBBpAL_8vLG75Tj-uoy7puq-npui_vhn8n6VkvZNNEeoydhPL6qnsld-kvJ2_-olAcC1n7YZEbnK/s1600/Screenshot+(42).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>I have Background here and I have browsed it from my explorer.</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjazZgD7QrwwJykEL4E92yB6z4kH5L-lWqzUS1eEMk1UHcSi1T5B8x3LQpgRE0O9utBEHhvQbv1h3_6Vtecnq5Wgm0PWZmpYP2GMNu-RV96G7WsasgfVwK-WEf9WXAY17PoKaD4rJs0vWx2/s1600/Screenshot+(43).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjazZgD7QrwwJykEL4E92yB6z4kH5L-lWqzUS1eEMk1UHcSi1T5B8x3LQpgRE0O9utBEHhvQbv1h3_6Vtecnq5Wgm0PWZmpYP2GMNu-RV96G7WsasgfVwK-WEf9WXAY17PoKaD4rJs0vWx2/s1600/Screenshot+(43).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Now I have the background but I need the background to cover the whole layout as well as start from the (0,0) of my layout</b></td></tr>
</tbody></table>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMH1TI6LyDGDR2QDSDLKFXuyvDIoaamO4luRUvdyfnLlJTvX8gxjcA6V_tenOGVdD0JQUNDsiTzMFg5moSQqX6DWlB0o2sJ7TEtlXrmm6zMn70x17PTTb0zWyKlOvmgvonhBk9H_afAJUR/s1600/Screenshot+(44).png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMH1TI6LyDGDR2QDSDLKFXuyvDIoaamO4luRUvdyfnLlJTvX8gxjcA6V_tenOGVdD0JQUNDsiTzMFg5moSQqX6DWlB0o2sJ7TEtlXrmm6zMn70x17PTTb0zWyKlOvmgvonhBk9H_afAJUR/s1600/Screenshot+(44).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>I Go ahead an change the values to (0,0) and my titled background starts from the beginning now</b></td></tr>
</tbody></table>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhOhvWZYxlA7_pVhVScSv9neIHz1bMk_7wHQq0J9K5rjPNUddEtXZ6Da0VTP6OnXPCRpvfGgw2-wACXzSpadydqtnGv-BVtZB8x7TIi7WkIlM2zJvFs-mNxZZZA00dFhHzadCW7xHBQWL/s1600/Screenshot+(45).png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhOhvWZYxlA7_pVhVScSv9neIHz1bMk_7wHQq0J9K5rjPNUddEtXZ6Da0VTP6OnXPCRpvfGgw2-wACXzSpadydqtnGv-BVtZB8x7TIi7WkIlM2zJvFs-mNxZZZA00dFhHzadCW7xHBQWL/s1600/Screenshot+(45).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Now I will change the size to the same that of the layout and now finally end up having the whole screen as background</b></td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW8-t37F0OoNP5Eh8SfDsBGgK8GxMsz5qIaZNTf8vdthCgcLRHv7NexczD8qfhNgEdmoIGTTvCNJ4ecCymoUHjlSA_qUSUBoyRUvBRTyKcOSEntOAqr5u4x-gzuwLgm0qzObixfki_dSk3/s1600/Screenshot+(47).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW8-t37F0OoNP5Eh8SfDsBGgK8GxMsz5qIaZNTf8vdthCgcLRHv7NexczD8qfhNgEdmoIGTTvCNJ4ecCymoUHjlSA_qUSUBoyRUvBRTyKcOSEntOAqr5u4x-gzuwLgm0qzObixfki_dSk3/s1600/Screenshot+(47).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>And finally the background is set </b></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjvaeOpJaFrNOb8XAtnueBJQybRWFp5AbobzyVhYtJ2YeYjd4vhWcVQaTzPy3mm_ftKb5pksqUxRXtXo80d_Ag9tNdI2TbYruSQMSwldLXxmpeCTOgdOqOwSzMS59SDvjloHrt7fyFZfGe/s1600/Screenshot+(48).png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjvaeOpJaFrNOb8XAtnueBJQybRWFp5AbobzyVhYtJ2YeYjd4vhWcVQaTzPy3mm_ftKb5pksqUxRXtXo80d_Ag9tNdI2TbYruSQMSwldLXxmpeCTOgdOqOwSzMS59SDvjloHrt7fyFZfGe/s1600/Screenshot+(48).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Now lets fix the background to a layer such that when we have multiple objects the background doesnt get funny </b></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
</div>
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Adding Another Layer </span></h3>
<div>
<span style="font-family: inherit;">In this I m going to add a new layer name "game" and this layer will contain 4 different sprites and we will look into how they interact </span></div>
<div>
<ul style="text-align: left;">
<li>Player </li>
<li>Monster</li>
<li>Bullet</li>
<li>Explosion</li>
<li>Mouse</li>
<li>Keyboard</li>
</ul>
</div>
<div>
<span style="font-family: Courier New, Courier, monospace;"></span><br />
<span style="font-family: Courier New, Courier, monospace;"></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"></span><br />
<span style="font-family: Courier New, Courier, monospace;"></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0FSsKjIE0Jh9Fz_9gRTLEtcEu47l0DxEMt-VLtcqfBMqyvHcuSu3KczHp83Pl_PugoGggHIqetR9dhFYFgmV_xPscilitaPoaFIklY4mJMvG2PtsgodZ-mZpZOv5N0aUrfuHSvGIOfHe_/s1600/Screenshot+(50).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0FSsKjIE0Jh9Fz_9gRTLEtcEu47l0DxEMt-VLtcqfBMqyvHcuSu3KczHp83Pl_PugoGggHIqetR9dhFYFgmV_xPscilitaPoaFIklY4mJMvG2PtsgodZ-mZpZOv5N0aUrfuHSvGIOfHe_/s1600/Screenshot+(50).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>To add a new Layer just click on the + button situated above the background layer and name it to whatever you want.Here I have named it to "Game". Now you can directly click anywhere in the layout and add sprites to they Game layer or for you guys the new layer</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuUCEz2G-KYzjcdP6w1VPFsRMavs76h8dM5-5WTaCrpBcwUNSNYtsgT5R9FaKFGZdBwpGWkF72vn-8vJ9BoMIj2u90X795UxKU0DpE0VOoS5zFawL0C0mwu9SA-BvjNRxJWrudGLKWJdQs/s1600/Screenshot+(51).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuUCEz2G-KYzjcdP6w1VPFsRMavs76h8dM5-5WTaCrpBcwUNSNYtsgT5R9FaKFGZdBwpGWkF72vn-8vJ9BoMIj2u90X795UxKU0DpE0VOoS5zFawL0C0mwu9SA-BvjNRxJWrudGLKWJdQs/s1600/Screenshot+(51).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Give the name to the sprite layer and select an image for the character and they drop it anywhere in the layout.</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK8Fd9BAK3B6kwNAf_UkfFmAauMJ7bl-R2PEjyDsFdRl4ZIa0YIWN9s_6E_MEVJRi-sM4AZxUNb3Ew0ZSMuTeA7jojaGBSQF_5_t_WfQzxE1_yceifTzwFSlVl_pfJzUYXe1V3JCAyGyz_/s1600/Screenshot+(52).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK8Fd9BAK3B6kwNAf_UkfFmAauMJ7bl-R2PEjyDsFdRl4ZIa0YIWN9s_6E_MEVJRi-sM4AZxUNb3Ew0ZSMuTeA7jojaGBSQF_5_t_WfQzxE1_yceifTzwFSlVl_pfJzUYXe1V3JCAyGyz_/s1600/Screenshot+(52).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>I have added my player .</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicd4871WtQz0TeT6aMx2N_E5vL2MJFeybF6kwy5C1GsH0AIwpNrEQQCjYxOcaphA8vt9eBz4i4B9jO8A1lLMZJszBRW0mNwgx9spzDTVzfXWN-VMVxYTv9XKY60rWOjLlUBaGMt0VwCsKA/s1600/Screenshot+(53).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicd4871WtQz0TeT6aMx2N_E5vL2MJFeybF6kwy5C1GsH0AIwpNrEQQCjYxOcaphA8vt9eBz4i4B9jO8A1lLMZJszBRW0mNwgx9spzDTVzfXWN-VMVxYTv9XKY60rWOjLlUBaGMt0VwCsKA/s1600/Screenshot+(53).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>My monster is also added</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN4kHCDLn74-HpH_XLy7GzUBoGr9BoNxE0tCPh2NRq_m5dNxKZJhaBwMP1a-ukFovKC9KE4tzpqbZTby_PIOK-JfTXWcfhEyBm7rINdxLKygxwgt_E8_UdmsTBdnfQKFfgAuzYDUk_UzAb/s1600/Screenshot+(54).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN4kHCDLn74-HpH_XLy7GzUBoGr9BoNxE0tCPh2NRq_m5dNxKZJhaBwMP1a-ukFovKC9KE4tzpqbZTby_PIOK-JfTXWcfhEyBm7rINdxLKygxwgt_E8_UdmsTBdnfQKFfgAuzYDUk_UzAb/s1600/Screenshot+(54).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Explosion Added**</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5NY6McKnx97uQ3qZYTD4yAJDH4tnYGYai1ChIsIKmYHFgLp2IB30J2QOyOKPkg36gHe3zt8Ql_d9I6ezX33UFYYdzvupnAra3O18t3SmuKeQLuBPOd5aBWxHKYzTssF7bVVdevJQnK22V/s1600/Screenshot+(55).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5NY6McKnx97uQ3qZYTD4yAJDH4tnYGYai1ChIsIKmYHFgLp2IB30J2QOyOKPkg36gHe3zt8Ql_d9I6ezX33UFYYdzvupnAra3O18t3SmuKeQLuBPOd5aBWxHKYzTssF7bVVdevJQnK22V/s1600/Screenshot+(55).png" height="180" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>**I added a bullet and now the explosion. The thing is whatever is in the layout is visible in the game but i dont want my bullets and explosion to be visible right in the beginning of the game ; rather I want them to appear on some condition or context .Hence are kept outside the layout.</b></td></tr>
</tbody></table>
<div>
<span style="font-family: Courier New, Courier, monospace;"></span><br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4vJqhca8vGBhIbQXjLcB7lSj74VI89BIx0JNfFo2GfmcYMyYXhyphenhyphenNe7u4FnjaTsl0GmQZArBeUaLpiYrC6ncxUaU-sqzBvh_E0CE4c6Ze9A3blMIqoOstryCQl0OVwNZ3uOIOM8qx9pF9k/s1600/Screenshot+(56).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4vJqhca8vGBhIbQXjLcB7lSj74VI89BIx0JNfFo2GfmcYMyYXhyphenhyphenNe7u4FnjaTsl0GmQZArBeUaLpiYrC6ncxUaU-sqzBvh_E0CE4c6Ze9A3blMIqoOstryCQl0OVwNZ3uOIOM8qx9pF9k/s1600/Screenshot+(56).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Here is how you get to add behaviours</b></td></tr>
</tbody></table>
<br />
<span style="font-family: Courier New, Courier, monospace;"></span></div>
<br />
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Adding Behaviours to the Objects..</span></b></h3>
<div>
<ul style="text-align: left;">
<li><span style="font-family: inherit;">Behaviours<br />1.Player : 8 Direction,Scroll To,Bound to layout.<br />2.Bullet: Bullet and Destroy outside layer.<br />3.Monster- Bullet<br />4.Explosion - Fade.</span></li>
</ul>
</div>
<br />
I'm listing showing just the player behaviour here.Make sure you assign all the values to the objects the exact ones that i wrote above ; if you are following this specific demo!<br />
<br />
<br />
<h3 style="text-align: left;">
Since I don't want "Mano E Mano"</h3>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4v6OUzbEC0jYWWalfY0zPa3QrT3gvtZZliLs_Lb8M7mhT_6fvlYwxAbGt_vSdIlXudlJZa-a1Y-BnGscLarFZjPWcl3aN58PRB5KMjhfO6gwBDr3wwgxTHK0Xx2W2Gk43j2E1uPEJl9eR/s1600/Screenshot+(57).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4v6OUzbEC0jYWWalfY0zPa3QrT3gvtZZliLs_Lb8M7mhT_6fvlYwxAbGt_vSdIlXudlJZa-a1Y-BnGscLarFZjPWcl3aN58PRB5KMjhfO6gwBDr3wwgxTHK0Xx2W2Gk43j2E1uPEJl9eR/s1600/Screenshot+(57).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>This is some FPS</b></td></tr>
</tbody></table>
<div>
<br /></div>
<div>
I can replicate sprites or for that matter any object as many times I want time on the layout.</div>
<div>
<br /></div>
<h4 style="text-align: left;">
Events</h4>
<div>
The events are generally triggered as a cause of an condition. So here i m going to take "ticks" and every tick = 60/sec. So wherever, I implement tick,will execute itself in that fashion.</div>
<div>
<br /></div>
<div>
Now I will go and add events to my sprites.</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmXIH1IQNypXpZkrhtHFky20jRldS9t9GJMJOQQ2Bpu-r5eYNtWKaL2gPZkgtr5f2C2-l5rf5wVK2Z8omYkN0e1K_QL6pF69n7eeZBTBwpmmBQBRSNvjrv9uz2XTCp2jQqWKzF-61euCBL/s1600/Screenshot+(58).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmXIH1IQNypXpZkrhtHFky20jRldS9t9GJMJOQQ2Bpu-r5eYNtWKaL2gPZkgtr5f2C2-l5rf5wVK2Z8omYkN0e1K_QL6pF69n7eeZBTBwpmmBQBRSNvjrv9uz2XTCp2jQqWKzF-61euCBL/s1600/Screenshot+(58).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Thats the event sheet and thats where I can add the tick event.</b></td></tr>
</tbody></table>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOthO_UYHFcidOHlX-Q-7sojJvd4u72NXyKZ9UmTIRkblyHQyxwdjok7kEclIgavLcxr4eHcuo4r1bAEdttNLzfbYmZe7JSFCmcaIM40wLjIo_Wl_BKrxynuw8mdYwjxBG6B5T1xA9QFlW/s1600/Screenshot+(59).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOthO_UYHFcidOHlX-Q-7sojJvd4u72NXyKZ9UmTIRkblyHQyxwdjok7kEclIgavLcxr4eHcuo4r1bAEdttNLzfbYmZe7JSFCmcaIM40wLjIo_Wl_BKrxynuw8mdYwjxBG6B5T1xA9QFlW/s1600/Screenshot+(59).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>So for 60times/Sec the player should do something and this is where I use the mouse and ask it to move towards the X,Y where the pointer of my mouse is on the layout</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfBZzVk97GD8qMnZxIil4v8s2EaUvsV4oSksvyRGAMDNhKtvjpgN0JGWGqVcO_O6YZXBfdy5lNM1Iasn6ijefEY4J9Km9_gnf5zpekz-ftnLmcMFZj3MbmVmDgATMrnfesCwUssGZDQ9pc/s1600/Screenshot+(60).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfBZzVk97GD8qMnZxIil4v8s2EaUvsV4oSksvyRGAMDNhKtvjpgN0JGWGqVcO_O6YZXBfdy5lNM1Iasn6ijefEY4J9Km9_gnf5zpekz-ftnLmcMFZj3MbmVmDgATMrnfesCwUssGZDQ9pc/s1600/Screenshot+(60).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>So this is where the person needs to fill in the X,Y values</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihkrvJ9qK0lAY9izEB0BumGV92PS2C6kV1qJNlWkqGsEdt8E_OP0LP6HiaTkc459b5VAv64-ydo70Ww6s1oCTVIhLK8CEV4cy2Awo58z_qtS4j7vRRMju1Vcs0jzzqbu8iAR5-nHEPBy7w/s1600/Screenshot+(61).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihkrvJ9qK0lAY9izEB0BumGV92PS2C6kV1qJNlWkqGsEdt8E_OP0LP6HiaTkc459b5VAv64-ydo70Ww6s1oCTVIhLK8CEV4cy2Awo58z_qtS4j7vRRMju1Vcs0jzzqbu8iAR5-nHEPBy7w/s1600/Screenshot+(61).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Fetches the value of Mouse X,Y</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-KcGUDSuQ_mGBL3RZapsrhRgBDxYAE38rsYZMu48NHIOn6EiQLFlT7m16r4ch682CrXiSoRDLS8a6FbODm3k9k8cUXmaLxXGGI4xOQoGMPLtpl_480SXYnAGCktFzAtj5RjfnQxuTpfwx/s1600/Screenshot+(62).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-KcGUDSuQ_mGBL3RZapsrhRgBDxYAE38rsYZMu48NHIOn6EiQLFlT7m16r4ch682CrXiSoRDLS8a6FbODm3k9k8cUXmaLxXGGI4xOQoGMPLtpl_480SXYnAGCktFzAtj5RjfnQxuTpfwx/s1600/Screenshot+(62).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>This is how the event sheet will look after the event is complete</b></td></tr>
</tbody></table>
<h4>
<b>Let's Shoot</b></h4>
<div>
Well, Now that you know how to add events and I have my character following my mouse pointer. I will simply let is have the ability to shoot as well. Here's how</div>
<div>
<br /></div>
<div>
So first thing is , I need my player's gun to interact with the bullet. Hence, I need a point from where the bullets will be coming out from. I need to create a 'IMAGE POINT'.. and here is how. Select the player on the layout .. Get the properties and select the "Image Point" and create a new Image point . and put it on the Guns's tip.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1C_MNNb-vwe4WJVTNDlUa4AO8NvEBn-AbnA0VYlnmmMqGRxxeogdTBVwf-UgXCIg7716XCp6RfDYy2_MyAcd2-K_QnZsZ9ldtubATi9BXEFVvOm0Lz-nP9dmHSBhgHoH_8VMoFb7B1Z2L/s1600/Screenshot+(63).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1C_MNNb-vwe4WJVTNDlUa4AO8NvEBn-AbnA0VYlnmmMqGRxxeogdTBVwf-UgXCIg7716XCp6RfDYy2_MyAcd2-K_QnZsZ9ldtubATi9BXEFVvOm0Lz-nP9dmHSBhgHoH_8VMoFb7B1Z2L/s1600/Screenshot+(63).png" height="225" width="400" /></a></div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-QaxR4M45lwBvcgBJi1DbyU8pBN3kIEbcoz0BxVsmYy6bExIXRtQGiRl6rJ_cP-5WHqjQ6Ou1QXorxFGNVPby5drAR0DKSpzzYYAEuMqVRbN_e8uc6IisB-4As1YFd2BSXjVvhh6nl_YI/s1600/Screenshot+(64).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-QaxR4M45lwBvcgBJi1DbyU8pBN3kIEbcoz0BxVsmYy6bExIXRtQGiRl6rJ_cP-5WHqjQ6Ou1QXorxFGNVPby5drAR0DKSpzzYYAEuMqVRbN_e8uc6IisB-4As1YFd2BSXjVvhh6nl_YI/s1600/Screenshot+(64).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>So I m to select mouse and configure its left click to send out a bullet</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEged8Rk9U_ugGKN17S_FN4qoHpT4fKQNo_UQrznCUzzvmw40ieXQ69Fcp18CIjkGO3MM05mu2YsMqbWvpwnjT4LDltJE1xGxQ4O6CIyY-K6E4vEUHI-pWY-2YPiAXoGkrGhNl0APT0BMOl1/s1600/Screenshot+(65).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEged8Rk9U_ugGKN17S_FN4qoHpT4fKQNo_UQrznCUzzvmw40ieXQ69Fcp18CIjkGO3MM05mu2YsMqbWvpwnjT4LDltJE1xGxQ4O6CIyY-K6E4vEUHI-pWY-2YPiAXoGkrGhNl0APT0BMOl1/s1600/Screenshot+(65).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Configuring my left click</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghDBwTnGy7bdzYDakHh_biBoOdM0N2k2bbMM4NMzqmrEVjSfIiP4b3fOYUeGzUmKD7qSAoBm2PRaWTsMLN4YUYGmCMAshfWEjficYo991_s_Rtu-PJp6CchlVqZV_XO6iP6cLzgsOqZb_v/s1600/Screenshot+(66).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghDBwTnGy7bdzYDakHh_biBoOdM0N2k2bbMM4NMzqmrEVjSfIiP4b3fOYUeGzUmKD7qSAoBm2PRaWTsMLN4YUYGmCMAshfWEjficYo991_s_Rtu-PJp6CchlVqZV_XO6iP6cLzgsOqZb_v/s1600/Screenshot+(66).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Spawn another object will create another object</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzcViCI5ZwWOwKzNnQDsH_8l4y_o7gB_lDMmdjyfjtS7XtxQ9TL5zuXQ0pT4i7TwCErpvb7CN1qFOFWjIzIkiHAgbkEUbS60ky7To9BVFwmEDI4UxuwDhrNymPpNnIEAO9Mb4JouKeUXNj/s1600/Screenshot+(68).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzcViCI5ZwWOwKzNnQDsH_8l4y_o7gB_lDMmdjyfjtS7XtxQ9TL5zuXQ0pT4i7TwCErpvb7CN1qFOFWjIzIkiHAgbkEUbS60ky7To9BVFwmEDI4UxuwDhrNymPpNnIEAO9Mb4JouKeUXNj/s1600/Screenshot+(68).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>And finally I add the bullet as my new spawn object and image point 1 as where from the bullet will originate when the mouse click happens</b></td></tr>
</tbody></table>
<h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">The Explosion and The Monster Destruction</span></b></h4>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGAADvC191qGYq69S3-XAq-mzstOS4ZxzhABE_kRSz0F73TSmN8Jh5o7pmtbl-vf-J3LB1vIYq6b0zlES759B5ow8wqvV3s_v7xjMJvSHgVhAEarRoPVFv72zBVdQ-NnbJ4C3N_Dz52kmv/s1600/Screenshot+(69).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGAADvC191qGYq69S3-XAq-mzstOS4ZxzhABE_kRSz0F73TSmN8Jh5o7pmtbl-vf-J3LB1vIYq6b0zlES759B5ow8wqvV3s_v7xjMJvSHgVhAEarRoPVFv72zBVdQ-NnbJ4C3N_Dz52kmv/s1600/Screenshot+(69).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Here I m putting the on collision with the bullet with the monster and which will result in the monster going away</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsy90uB8AJ6sPgamv3pkx79sJKH-fuThNHNwFdxt3b9LDMbc-rhxlmHbdqYy_uaMDDGkWIz9Jc9KV-Yv4frr7vxBV_lSerF2CDniSJViM3-vCweQmxKBlMQ6fvgE8GULSH_zb-wUxMJdTj/s1600/Screenshot+(70).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsy90uB8AJ6sPgamv3pkx79sJKH-fuThNHNwFdxt3b9LDMbc-rhxlmHbdqYy_uaMDDGkWIz9Jc9KV-Yv4frr7vxBV_lSerF2CDniSJViM3-vCweQmxKBlMQ6fvgE8GULSH_zb-wUxMJdTj/s1600/Screenshot+(70).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>On Collision with the Monster</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha6U3bgbfqGI5RHL6WmFcNDeYg5gK5eG2hbhW7D5k3wjAll-B2BL4QTdgHBYHCRgVgrIAXTC8IC_BEve1g3V-VyyIpLQgRZNnoNB8VTCvbwzpi8CPyJfy3_jsxQnbvdvQDFrQX4k-u-c5B/s1600/Screenshot+(71).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha6U3bgbfqGI5RHL6WmFcNDeYg5gK5eG2hbhW7D5k3wjAll-B2BL4QTdgHBYHCRgVgrIAXTC8IC_BEve1g3V-VyyIpLQgRZNnoNB8VTCvbwzpi8CPyJfy3_jsxQnbvdvQDFrQX4k-u-c5B/s1600/Screenshot+(71).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>The monster will be destroyed ,so the Destroy property is selected</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibmlhG8xRvvNUXM5g_bZ5QNABj6x0I5yuXv8VoFdTVH1yeD2wlBtXeUKeOrTSQZB8vfCTHGdSxMjsYK0tIWEcSAhP90eHVisMaNxKlFi0tsMLga2d6SfRj_uqi5I4cPHLWWGJZO2YmxpFR/s1600/Screenshot+(72).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibmlhG8xRvvNUXM5g_bZ5QNABj6x0I5yuXv8VoFdTVH1yeD2wlBtXeUKeOrTSQZB8vfCTHGdSxMjsYK0tIWEcSAhP90eHVisMaNxKlFi0tsMLga2d6SfRj_uqi5I4cPHLWWGJZO2YmxpFR/s1600/Screenshot+(72).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>From where the bullet was, the explosion has to be spawned just make sure you do it in the same layer to that of the game.</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cTP09-FdDJd3MNjuv_-I5i_GCKdTpN9Dj7fL5IImrot6LR806HDcraBNbCKb4DbZrclmOPtX0YE_r5lXJ2CQq8BT0E8_osk22FLtT3W3hClQRk0r6Lfb4UHIUzuENat85teOcs0pLK_u/s1600/Screenshot+(73).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cTP09-FdDJd3MNjuv_-I5i_GCKdTpN9Dj7fL5IImrot6LR806HDcraBNbCKb4DbZrclmOPtX0YE_r5lXJ2CQq8BT0E8_osk22FLtT3W3hClQRk0r6Lfb4UHIUzuENat85teOcs0pLK_u/s1600/Screenshot+(73).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>And finally the bullet needs to be destroyed</b></td></tr>
</tbody></table>
<div>
<br /></div>
<div>
**<b>just a tip: since my explosion had a black background,what i did was changed the blend property of the explosion to "additive" and hence it gets rid of that black property.</b></div>
<div>
<b><br /></b></div>
<div>
<b><br /></b></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivOre55iBOYPOdTiuI263NUa6SM1b-9jagl9duRNqwoz9z5jD5BB7QeX13XXWJwz3GveRCWBnpUjhGcfRpc-jToI3QAJnI-svF1rY5G5AoAJdA5fJk92AIAoxyD5qFclYZa0jhtXASMZsE/s1600/Screenshot+(76).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivOre55iBOYPOdTiuI263NUa6SM1b-9jagl9duRNqwoz9z5jD5BB7QeX13XXWJwz3GveRCWBnpUjhGcfRpc-jToI3QAJnI-svF1rY5G5AoAJdA5fJk92AIAoxyD5qFclYZa0jhtXASMZsE/s1600/Screenshot+(76).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Thtats the additive property after being changed from normal as blend value.</b></td></tr>
</tbody></table>
***Note:<b>The monster's speed can be controlled by selecting them and lessening their speed</b><br />
<div style="text-align: left;">
<b><br /></b></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5V0J0Lr1iSUStWNHktqa0BlMFF1s8QAG-YeFzOXVh1cAZhfTYR9ARnKpKNsT2q5ukMe_omXyy3_J4TjVLbmgNj3RGA56XaJoTo1RD8Ki3jCgnqS0xAGR33fJWbRC7I9NRj1JttjNmRGL/s1600/Screenshot+(77).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5V0J0Lr1iSUStWNHktqa0BlMFF1s8QAG-YeFzOXVh1cAZhfTYR9ARnKpKNsT2q5ukMe_omXyy3_J4TjVLbmgNj3RGA56XaJoTo1RD8Ki3jCgnqS0xAGR33fJWbRC7I9NRj1JttjNmRGL/s1600/Screenshot+(77).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>I have eventually changed the speed to 80 ..and maybe when i make level two.. I might wanna increase the speed to 100 and it will give a difficulty level for the player</b></td></tr>
</tbody></table>
<div style="text-align: left;">
<b><br /></b></div>
<div style="text-align: left;">
</div>
<h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Health and Instance Variables</span></b></h4>
<div>
The health of the player and the monster can be kept in check by initiating an instance variable. The instance variable has an initial value which is the health and we can keep an counter for it and when its equal to or less than zero we can destroy the monster or player.I have mapped the monsters heath here which is by initiating a initial value of 3 and which implies that only after 3 bullets the the monsters will die.For each time a bullet hits the monster the value of the instance variable drops by 1.Below are the Sreenshots of how to do it.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCBVG4UpAVDFkMdtoBw9wos5Op1ePCZvlflPDmslNn7-B1RaxYUcj7AbQwypP7me-LPZvpF_Ez5t37vVtKDMSZ1eAiDzcy45QNU2Vc9Wi9lwLLloLBWuUUl61G_GNAIoXQdXh8HZxXOOHF/s1600/Screenshot+(78).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCBVG4UpAVDFkMdtoBw9wos5Op1ePCZvlflPDmslNn7-B1RaxYUcj7AbQwypP7me-LPZvpF_Ez5t37vVtKDMSZ1eAiDzcy45QNU2Vc9Wi9lwLLloLBWuUUl61G_GNAIoXQdXh8HZxXOOHF/s1600/Screenshot+(78).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm_YFAIvFFX_qBv5WBgRpSMJundrIhLeRRthH12anSz42zMuxK7zf3dXYTXk_0L9SGoJSW87gBOCL8D2EFppfGVfQq7Ni_fqHP7arTQnFc1AoBxok_caozRDS2EzckKZiF3voUe0jyJH8u/s1600/Screenshot+(79).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm_YFAIvFFX_qBv5WBgRpSMJundrIhLeRRthH12anSz42zMuxK7zf3dXYTXk_0L9SGoJSW87gBOCL8D2EFppfGVfQq7Ni_fqHP7arTQnFc1AoBxok_caozRDS2EzckKZiF3voUe0jyJH8u/s1600/Screenshot+(79).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidq42FXFXNQG_Bu0ntVHjFqrIiGNssq-XD7GNsus9h5pnfnb43eOiVBqTic6pxnh4-bguLxgC2R6MDiRAyzvc6E7NQdQD92c614N9r4coLnfHHSes691nJ8mH9NLI3-lxsuRe9kzSLCK1m/s1600/Screenshot+(80).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidq42FXFXNQG_Bu0ntVHjFqrIiGNssq-XD7GNsus9h5pnfnb43eOiVBqTic6pxnh4-bguLxgC2R6MDiRAyzvc6E7NQdQD92c614N9r4coLnfHHSes691nJ8mH9NLI3-lxsuRe9kzSLCK1m/s1600/Screenshot+(80).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkBtjqmkVWZe5zQitLBaEQlvbLebmMnB8dIoW75ss5_nui2_Oj114SklmLqjx1_dH1HKfeuvnSzl70CItTBWP2Dr_CeQYu_E10FrXJ31TgjQ7wRZd1xSICT1Y80TW27zb7T4i-Gx4Tlrhb/s1600/Screenshot+(81).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkBtjqmkVWZe5zQitLBaEQlvbLebmMnB8dIoW75ss5_nui2_Oj114SklmLqjx1_dH1HKfeuvnSzl70CItTBWP2Dr_CeQYu_E10FrXJ31TgjQ7wRZd1xSICT1Y80TW27zb7T4i-Gx4Tlrhb/s1600/Screenshot+(81).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrpcy5-3gnP0zQrRXjgsLSKxJHnbAS1zhkndpDYQT1grAzF-ZjQfc5OVIru0SIJ33REYXUWK2zKu0aLnh1SfHq82DYfP2tl7RXRX46Rx804xyFNKhcsZ455N_gYsc4fDSUy9X4BS3ruBpd/s1600/Screenshot+(82).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrpcy5-3gnP0zQrRXjgsLSKxJHnbAS1zhkndpDYQT1grAzF-ZjQfc5OVIru0SIJ33REYXUWK2zKu0aLnh1SfHq82DYfP2tl7RXRX46Rx804xyFNKhcsZ455N_gYsc4fDSUy9X4BS3ruBpd/s1600/Screenshot+(82).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0r1hbiHvM6kz9pGdBwVhj9Ie8HM8VLo-rIRGjVjegPaHCvTSwj6c9VVxDBP4yAu9gblV30gS4DJUDaIJPKbNC4vPAIPkEAac-UpOHQPvPnheQeNjxINzmaECTrwpqG0x_avlqfZFEuucT/s1600/Screenshot+(83).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0r1hbiHvM6kz9pGdBwVhj9Ie8HM8VLo-rIRGjVjegPaHCvTSwj6c9VVxDBP4yAu9gblV30gS4DJUDaIJPKbNC4vPAIPkEAac-UpOHQPvPnheQeNjxINzmaECTrwpqG0x_avlqfZFEuucT/s1600/Screenshot+(83).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX15yLv9Hw406SvtfT5oxpcoXOAqEQV0NQo0UheULJilSKjF-brNKc8qsv2u23cQXloKLonse5d1OmpNBoivjUwm2zfmMkqkqHrTwKXebiY4guiWBai1q25Bcn1ZuKppi2RYsIBpTrGhqb/s1600/Screenshot+(84).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX15yLv9Hw406SvtfT5oxpcoXOAqEQV0NQo0UheULJilSKjF-brNKc8qsv2u23cQXloKLonse5d1OmpNBoivjUwm2zfmMkqkqHrTwKXebiY4guiWBai1q25Bcn1ZuKppi2RYsIBpTrGhqb/s1600/Screenshot+(84).png" height="225" width="400" /></a></div>
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><br /><b>Keep Score</b></span></h3>
<div>
<span style="font-family: inherit;">Score is going to be a global variable which is going to keep a count of how many monsters is hit or killed. So all I require is a global variable named "Score" on the event sheet with a initial value of 0 and mapped with "add to" when the bullet hits the monster.</span></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br />
<span style="font-family: inherit;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcGPp8cJh4za3MAVAo6RmHtxiXnEK-4sXiUgN50mWWhw609IHAQMBxpwqjCYilt6sGcEb9gRX-tpw-zOrJO5MsyA2uDSt_qYAVPSQ84ogppJf4wtB-cdrcf6HuUdJuO59-tbfjke4lQp0S/s1600/Screenshot+(85).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcGPp8cJh4za3MAVAo6RmHtxiXnEK-4sXiUgN50mWWhw609IHAQMBxpwqjCYilt6sGcEb9gRX-tpw-zOrJO5MsyA2uDSt_qYAVPSQ84ogppJf4wtB-cdrcf6HuUdJuO59-tbfjke4lQp0S/s1600/Screenshot+(85).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Adding a global Variable by right clicking on the event sheet</b></td></tr>
</tbody></table>
</span></div>
<div>
<span style="font-family: inherit;">.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi16AyoYyt9_GgpPixkgUFwxLM6vAEJrApmuJVAdfFddPpSTUyjum3Lw4awT8pZoAgm-990JT1ZQBCWE0KUDvELFyICG13tK6ZApsFWgnrrylLg4_KbBegMR2JSlLpgyROScLRZgtJ9KvL_/s1600/Screenshot+(88).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi16AyoYyt9_GgpPixkgUFwxLM6vAEJrApmuJVAdfFddPpSTUyjum3Lw4awT8pZoAgm-990JT1ZQBCWE0KUDvELFyICG13tK6ZApsFWgnrrylLg4_KbBegMR2JSlLpgyROScLRZgtJ9KvL_/s1600/Screenshot+(88).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Adding the score variable with initial value of zero</b></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtSTgCb3XhqH_BUUyPI4z8pP5lJQgvfMhnZzrYuz3RZavwaAskAkaT6WbM4xPe3-FuRo-JMaHhtFXlBK7oIe8L70cWcaigZ0nain-acU3gmFz4bGVMboQCdU4qOFtfw3ATXU3BUJIT39kZ/s1600/Screenshot+(87).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtSTgCb3XhqH_BUUyPI4z8pP5lJQgvfMhnZzrYuz3RZavwaAskAkaT6WbM4xPe3-FuRo-JMaHhtFXlBK7oIe8L70cWcaigZ0nain-acU3gmFz4bGVMboQCdU4qOFtfw3ATXU3BUJIT39kZ/s1600/Screenshot+(87).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Finally adding the score to my collison event when my bullet hits the monster.</b></td></tr>
</tbody></table>
<h3 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">The Heads Up Display AKA HUD</span></b></h3>
<div>
For this we create a new layer, and name it HUD . The new layer we add the object type "text" and name it as score.and it can be done by adding the sore variable with the score text.and disabling parallex so that the score doesnt move.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6ff2tjLhi64Ng4U2e_82q4g9uXtT0V_pv7Jg8Tc_KYWvWhLjxKk0xM605RJk5buyi2wyRYc0lsmsvpmJYRq9qtG6aDLQraRaHKWyHSjJ1Nh4YrDL7xzmNVla5xv462QC3EhKdmoq9aeZ/s1600/Screenshot+(90).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho6ff2tjLhi64Ng4U2e_82q4g9uXtT0V_pv7Jg8Tc_KYWvWhLjxKk0xM605RJk5buyi2wyRYc0lsmsvpmJYRq9qtG6aDLQraRaHKWyHSjJ1Nh4YrDL7xzmNVla5xv462QC3EhKdmoq9aeZ/s1600/Screenshot+(90).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghkRE2K2-aSLQh6gwHlS-zyW_2HoN9ufOalkAIPxTNVV0FrVWI6Nyg0sRlx42xuq-bbyUOA9Xvyi0X6L7mUNsXQ6Jb8_GXlt-UBJcL26j45hxHXN_S7gO7dT5s0hyphenhyphenEmj9ALVPLT7nCvCtz/s1600/Screenshot+(91).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghkRE2K2-aSLQh6gwHlS-zyW_2HoN9ufOalkAIPxTNVV0FrVWI6Nyg0sRlx42xuq-bbyUOA9Xvyi0X6L7mUNsXQ6Jb8_GXlt-UBJcL26j45hxHXN_S7gO7dT5s0hyphenhyphenEmj9ALVPLT7nCvCtz/s1600/Screenshot+(91).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjibk4GLoMMwWEQGPBssSP49sf8TqgaqrlAh1JTJVFcDpMTdjwUeqUZQa3HeIiSHD7vwxP_1pklaElfbdsG-0kUhCK4tOmL8mf180qOnrtlWAV6oDakRsKfoynusnAmiJY4sQJIbfdKYFqY/s1600/Screenshot+(92).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjibk4GLoMMwWEQGPBssSP49sf8TqgaqrlAh1JTJVFcDpMTdjwUeqUZQa3HeIiSHD7vwxP_1pklaElfbdsG-0kUhCK4tOmL8mf180qOnrtlWAV6oDakRsKfoynusnAmiJY4sQJIbfdKYFqY/s1600/Screenshot+(92).png" height="225" width="400" /></a></div>
<h4 style="text-align: left;">
<b><span style="font-family: Courier New, Courier, monospace;">Regeneration of Monster and The player kill</span></b></h4>
<div>
Here <span style="font-family: inherit;">I will<span style="font-family: inherit;"> generate a monster in every 3 seconds and kill the player when the monster hits the player.So couple of more events, Firstly, we pick up a random width or height or height and width and repopulate the monster and finally have the player killed if the player is collides with any of the monster.</span></span></div>
<div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjedwAcPgx4vTixOPtmvTrvdF4wpt2O_FHljcM0ZBodq6e5WJ3JI_Rj-kQ_oEaAQ-Il8ONJg9_04qpgvVBzjlxcfa4qD6e3-QANV5H8km3dqz0BaLwemiOqyAc6XN-gjOtAIt5uIaukTh0Z/s1600/Screenshot+(93).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjedwAcPgx4vTixOPtmvTrvdF4wpt2O_FHljcM0ZBodq6e5WJ3JI_Rj-kQ_oEaAQ-Il8ONJg9_04qpgvVBzjlxcfa4qD6e3-QANV5H8km3dqz0BaLwemiOqyAc6XN-gjOtAIt5uIaukTh0Z/s1600/Screenshot+(93).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>The X seconds can be specified to perform regeneration of monsters </b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPta0-9mn_lwKmWCLVMzRHHHSQaW8aqUSesA9hxxQiuaUl7S6eZEXT47leeZQByrBjcIX8F9Fxk5Hu1Z_xZdYYvRdFa7Al98QRbLHz6fvDxgitmgrxkORFSHIz7586pOZQEVdaR4D1KOv7/s1600/Screenshot+(94).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPta0-9mn_lwKmWCLVMzRHHHSQaW8aqUSesA9hxxQiuaUl7S6eZEXT47leeZQByrBjcIX8F9Fxk5Hu1Z_xZdYYvRdFa7Al98QRbLHz6fvDxgitmgrxkORFSHIz7586pOZQEVdaR4D1KOv7/s1600/Screenshot+(94).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>I have set it to 5secs</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6_j75RYj3Q4crmMz4iEbUzICPVrRDAh4skNTb1Ejpidc31rvpr8oSH5ChVos8ya4RJweoK445b_WTzpgIKGMWZKB69l_TSTpjvXsE15UiWZDT3TB1DUSqWaG6JDIFumC_Vy9diqUdn4D4/s1600/Screenshot+(95).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6_j75RYj3Q4crmMz4iEbUzICPVrRDAh4skNTb1Ejpidc31rvpr8oSH5ChVos8ya4RJweoK445b_WTzpgIKGMWZKB69l_TSTpjvXsE15UiWZDT3TB1DUSqWaG6JDIFumC_Vy9diqUdn4D4/s1600/Screenshot+(95).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>The regeneration of the monsters can happen from any random width and height of the layout</b></td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSbGmcn5FFvTd6OKUF2U1SwQn2c7RcwACfa5UA5PTtqTgItVYdU8gTrykfmqjDl5rp9rGhgA9xzzH1v6-_JLe9G9NGi8KAyNMaUydpBMc3N8bdAMQi2UFvG64UihfM9DGVwPyC9BQnm850/s1600/Screenshot+(97).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSbGmcn5FFvTd6OKUF2U1SwQn2c7RcwACfa5UA5PTtqTgItVYdU8gTrykfmqjDl5rp9rGhgA9xzzH1v6-_JLe9G9NGi8KAyNMaUydpBMc3N8bdAMQi2UFvG64UihfM9DGVwPyC9BQnm850/s1600/Screenshot+(97).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>When my player collides with the monster it dies</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDvvWdAA9ojnaxMK9jOoDncKN04GogdEqkeO90nw-5jMZ816SlSW_viCHvACTXzOls_HSyj9waownp-93Qkp_W46-dkldAtXOjBVbrVFdFN4ibICIs_GRwMbI13p8xvdKYTUeCWAWWR-DJ/s1600/Screenshot+(98).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDvvWdAA9ojnaxMK9jOoDncKN04GogdEqkeO90nw-5jMZ816SlSW_viCHvACTXzOls_HSyj9waownp-93Qkp_W46-dkldAtXOjBVbrVFdFN4ibICIs_GRwMbI13p8xvdKYTUeCWAWWR-DJ/s1600/Screenshot+(98).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>The monster is selected from the menu of objects</b></td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ix0YYdIlXVWT4-prVFPFnmm-3awL4ryTZrducPnhQqFFr2AzRGmokqMefv4NZTr8zSyD7LVUVqouu9cjH0bZyLuUHohAyd_7TgR069U-lNnEDpQ30l2rNApb05b0FE5ORkfKS1C6MPUp/s1600/Screenshot+(99).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5ix0YYdIlXVWT4-prVFPFnmm-3awL4ryTZrducPnhQqFFr2AzRGmokqMefv4NZTr8zSyD7LVUVqouu9cjH0bZyLuUHohAyd_7TgR069U-lNnEDpQ30l2rNApb05b0FE5ORkfKS1C6MPUp/s1600/Screenshot+(99).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>And this is where I destroy the player</b></td></tr>
</tbody></table>
<br /><br /><br /><b>And finally This is how your game will look like in Contruct 2</b><br /><div>
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span>
<span style="font-family: inherit;"><span style="font-family: inherit;"><br /></span></span>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgSccJjllHdPYnNEGbP256ApawYStOJ2RkLvuMaBulqUWXOBX4BAF3hPvD6-khxs2iEgrzq7-P3ag5HSqSqEILaHB4nrgXiHOt1z6o-YVtTJysThyeHavW2wCYwrCZYHycrI5Q9arTkSfX/s1600/Screenshot+(100).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgSccJjllHdPYnNEGbP256ApawYStOJ2RkLvuMaBulqUWXOBX4BAF3hPvD6-khxs2iEgrzq7-P3ag5HSqSqEILaHB4nrgXiHOt1z6o-YVtTJysThyeHavW2wCYwrCZYHycrI5Q9arTkSfX/s1600/Screenshot+(100).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>The final game!!</b></td></tr>
</tbody></table>
<br /><span style="font-family: inherit;">But yes, guys need to push it to store. So you will require to export this to Visual Studio where from you can package it and push it to the store.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Construct 2 gives this awesome feature to simply port your game to any platform.</span><br />
<br />
<br />
<b>**NOTE: You need to fill the Project Name ,Author and Description Before exporting.</b><br /><span style="font-family: inherit;"></span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Gnq0e2je4h_7hxcJz2ZSDEKzu0jOWnl9reRTAlsZh4jquob5xvtN2R4NMWavOleseKdbAuTaz7deYZVDQsnOlmT3DnArjDdEljJ4nNR-LggyKAMhGnCUUYxP9Z2FGOU5NlYi4Ejxf3p2/s1600/Screenshot+(105).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Gnq0e2je4h_7hxcJz2ZSDEKzu0jOWnl9reRTAlsZh4jquob5xvtN2R4NMWavOleseKdbAuTaz7deYZVDQsnOlmT3DnArjDdEljJ4nNR-LggyKAMhGnCUUYxP9Z2FGOU5NlYi4Ejxf3p2/s1600/Screenshot+(105).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>You can find the export option in the home tab of Construct 2</b></td></tr>
</tbody></table>
<span style="font-family: inherit;"><br /> </span><br /></div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBY9hl4oECBJmRWW3b8k7HZ8xuK2MEj8L86ScBrTccxJZpfvL7hh-2KVDSMH9uXLK_H-RjeQlcNuwDkZMxIeC-ntjJwwE-4DQRfzBY4LpMT-PdZC8xG_14U5ntCVv875LDaBEuPCkGkeNJ/s1600/Screenshot+(103).png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBY9hl4oECBJmRWW3b8k7HZ8xuK2MEj8L86ScBrTccxJZpfvL7hh-2KVDSMH9uXLK_H-RjeQlcNuwDkZMxIeC-ntjJwwE-4DQRfzBY4LpMT-PdZC8xG_14U5ntCVv875LDaBEuPCkGkeNJ/s1600/Screenshot+(103).png" height="225" width="400" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP9h4_5XUC0xFAoGh5CQejSOARiGIRT7BFbuP3_9scC2VjlJZ_LAVyLFj5QVN5fJru-wxzmx3Kz4CdqQU8c7IieeCVgJv2eeRtRsLK07q9sjIeONQR_PEPmtn7qa1gG_4hDFY-jC0UqEEU/s1600/Screenshot+(104).png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP9h4_5XUC0xFAoGh5CQejSOARiGIRT7BFbuP3_9scC2VjlJZ_LAVyLFj5QVN5fJru-wxzmx3Kz4CdqQU8c7IieeCVgJv2eeRtRsLK07q9sjIeONQR_PEPmtn7qa1gG_4hDFY-jC0UqEEU/s1600/Screenshot+(104).png" height="225" width="400" /></a></div>
<span style="font-family: Courier New, Courier, monospace;"><b><br /></b></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><b>Soon after you hit Export and select the option your project will be exported to a desired folder with all the resources inside it!</b></span><br />
<br />
<br />
<br />
<br />
<b><span style="font-family: Courier New, Courier, monospace;"><br /></span></b>
<b><span style="font-family: Courier New, Courier, monospace;">Now I have all my resources and the .sln file ready for Visual Studio.</span></b><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Now there is going to be a Problem and when you try to build it or run in your local machine.The problem is Contrcut 2 never signs the certificate and hence when you try to build it fails.Here is how you can give it a certificate and make your app store ready.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH0il5WwcCQ8VHkH-Kv1nWuhKcFHZViamogrXujqUJDXWxPDGOPCUc66FYAJhcoGkFkysE40DmmcfEGkh_3heXu9PxgdwZGDwT5NHcB7-6wc46q_ZpjxSkDlZAvgwnDd_5aQyn6KWD2dko/s1600/Screenshot+(107).png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH0il5WwcCQ8VHkH-Kv1nWuhKcFHZViamogrXujqUJDXWxPDGOPCUc66FYAJhcoGkFkysE40DmmcfEGkh_3heXu9PxgdwZGDwT5NHcB7-6wc46q_ZpjxSkDlZAvgwnDd_5aQyn6KWD2dko/s1600/Screenshot+(107).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<b><span style="font-family: Courier New, Courier, monospace;"> SO ,this is the package.appxmanifest file where you need to give it a certificate. If you are new with game or app dev you can create your certificate the same way its shown below.</span></b><br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3H0a62Eb4qtsfXXJv1Kw27N5DPS9Vu77nnMaWnL0uQzZnheTZ-SBmEWNeoOChn7Hv1uDY_LdCCv3ckKIM83vxi26pH5vx8WkMWkppIKqE89GQItAtwQDq_T2n4DFOduKRu5e8a_ONmYDw/s1600/Screenshot+(108).png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3H0a62Eb4qtsfXXJv1Kw27N5DPS9Vu77nnMaWnL0uQzZnheTZ-SBmEWNeoOChn7Hv1uDY_LdCCv3ckKIM83vxi26pH5vx8WkMWkppIKqE89GQItAtwQDq_T2n4DFOduKRu5e8a_ONmYDw/s1600/Screenshot+(108).png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b>Fill the name and give it a passkey</b></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6VXY6y6KJZ881QrqrPKyJOhu1mtc2sTzJBs5AW1j7s6ooVh8XvAos3ex-sliPSk5a2dJ2QFiw5AUyJvRKBPmm-VkEjWAYUBQ_EYuD4-ooYuXKBkNfHPHAFEkNHU06LF7jo83pNMTF-F2J/s1600/Screenshot+(118).png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6VXY6y6KJZ881QrqrPKyJOhu1mtc2sTzJBs5AW1j7s6ooVh8XvAos3ex-sliPSk5a2dJ2QFiw5AUyJvRKBPmm-VkEjWAYUBQ_EYuD4-ooYuXKBkNfHPHAFEkNHU06LF7jo83pNMTF-F2J/s1600/Screenshot+(118).png" height="225" width="400" /></a></div>
<br />
<br />
<br />
<br />
<b>This is how your game looks when deployed and if you have noticed it didnt take much time to make such a game!</b><br />
<br />
<br /></div>
</div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com1tag:blogger.com,1999:blog-9016601721408860703.post-52970177928689443942014-12-27T15:54:00.000-08:002014-12-27T16:08:02.058-08:00Developing Windows 8 Apps with HTML5,CSS3 and JS<div dir="ltr" style="text-align: left;" trbidi="on">
Well,if you are new to app dev this piece of log will guide you to build small apps and much more.I would love to have some feedbacks after you guys are done reading this.<br />
<br />
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">Lets talk about Windows 8 Architecture</span><div style="text-align: left;">
<span style="font-family: inherit;"><span style="font-weight: normal;">To start with app dev. , one must be very clear about how and where the app in going to run and how windows 8 will render it. So lets me start with a quick round up on that.</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtOSTfBX5WyTlvhxS34-uvdZhxy6sUPU2Qdq7fhBF56-NdSNsV0WwmLBHBDjXOjv0pDzReWmqKUThJPW5KtwX_I-pHnlsDdXnahF0SjvdLrBiKBRpkT3-XZr7eIYEP9P3t1XIco9uRw-qT/s1600/Screenshot+(1).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtOSTfBX5WyTlvhxS34-uvdZhxy6sUPU2Qdq7fhBF56-NdSNsV0WwmLBHBDjXOjv0pDzReWmqKUThJPW5KtwX_I-pHnlsDdXnahF0SjvdLrBiKBRpkT3-XZr7eIYEP9P3t1XIco9uRw-qT/s1600/Screenshot+(1).png" height="255" width="400" /></a></div>
<div style="text-align: left;">
<span style="font-weight: normal;">Previously,we had the Windows Kernel and all the apps that were built were called 'Desktop Apps' and this was mostly done with C/C++ against the win32/COM APIs until the rise of C# and VB.net when they started running the apps inside Silverlight via the browser.</span></div>
<div style="text-align: left;">
<span style="font-weight: normal;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii0gFAdf9M7TUfqRid5nHK4vEf8iiEitxedF0cEopdNBWhlRdaDu3dCj-Q4ZbMyt9Gh3mj11ScnDUM_LTcz_KRrrVcQU9I-euq50d9cMpXAHWom2TeF_miZB0BT6iUza2grtEGseUnhN1v/s1600/Screenshot+(2).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii0gFAdf9M7TUfqRid5nHK4vEf8iiEitxedF0cEopdNBWhlRdaDu3dCj-Q4ZbMyt9Gh3mj11ScnDUM_LTcz_KRrrVcQU9I-euq50d9cMpXAHWom2TeF_miZB0BT6iUza2grtEGseUnhN1v/s1600/Screenshot+(2).png" height="227" width="400" /></a></div>
<div style="text-align: left;">
<span style="font-weight: normal;">Another popular way to build apps were called 'Browser Apps' and these were written with HTML5 and JS . Bing maps and Office 365 are very nice examples of Browser Apps.</span></div>
</h3>
<h4 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">The Shortcoming</span><div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">The apps were mostly built for Intel compatible devices</span></li>
<li><span style="font-weight: normal;"> There were no implementation of technologies like 'touch'.</span></li>
</ul>
<span style="font-family: Courier New, Courier, monospace;">The Need for a new Run Time(RT)<br /></span><br />
<div style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ2ahKaCf4CdqY8SJTvkbdlxwcnge1dR92s4sjXFGCb8pd5AJ9eIivl5nUuQV0IYmE9WJu3YHY1zCLkAAQ0P_bHjzuR-7QJeuvae7LaYTRjyqG3zjFM_CE-E9ottcQCq65VS-3NTqO2o6F/s1600/Screenshot+(3).png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ2ahKaCf4CdqY8SJTvkbdlxwcnge1dR92s4sjXFGCb8pd5AJ9eIivl5nUuQV0IYmE9WJu3YHY1zCLkAAQ0P_bHjzuR-7QJeuvae7LaYTRjyqG3zjFM_CE-E9ottcQCq65VS-3NTqO2o6F/s1600/Screenshot+(3).png" height="225" width="400" /></a><span style="font-weight: normal;">With Advent of Windows 8 , Microsoft wanted to aim not only at Intel compatible devices but also to a whole lot of other consumer devices which were mostly powered by ARM processors and also to leverage capabilities like touch.This paved the path to the creation of a new RT and a new class of apps for that RT which is known today as 'Windows Store Apps'.</span><br />
<br />
<span style="font-weight: normal;">Windows Store Apps runs on Windows Run Time APIs AKA WinRT. WinRT gives you the basic of what one can expect from an RT which is communicating with the network , graphics and media and most importantly the 'Application Model' which will help the developer maintain the life cycle of an App.</span><br />
<br />
<span style="font-weight: normal;">Now,to help developers write their apps against the WinRT ; Microsoft created a 'Language Projection' level which will help the developer to generate language compatible syntax for direct interaction with WinRT,</span><br />
<br />
What Does This Imply?</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_3lhfloODTbUHLMAvnJ3HsnGqnsxSS2OkdMQp_tR2fN8unb0C0Ic7CM4o8MIamX9iIc8rXGw0ZT_BRcNkdMIOGjfbChmmiNvF-BkhazBxUzu2OEpsm_HerEM4TJnDfWs-u3A9SyNvN-Pi/s1600/Screenshot+(5).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_3lhfloODTbUHLMAvnJ3HsnGqnsxSS2OkdMQp_tR2fN8unb0C0Ic7CM4o8MIamX9iIc8rXGw0ZT_BRcNkdMIOGjfbChmmiNvF-BkhazBxUzu2OEpsm_HerEM4TJnDfWs-u3A9SyNvN-Pi/s1600/Screenshot+(5).png" height="247" width="400" /></a></div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li>Now<span style="font-weight: normal;">,One can access the WinRT with C# , VB.net and also with C / C++ and use XAML as markup.</span></li>
<li><span style="font-weight: normal;">HTML5 and CSS3 can also be used to interact with the winRT and JS becomes the code behind for those kinds of apps.</span></li>
</ul>
<span style="font-weight: normal;">**Note:The HTML5 apps in Windows Store are significantly different from what existed before.</span><br /><br />Value of "Windows Store" Apps<br /><ul style="text-align: left;">
<li><span style="font-weight: normal;">These apps run on both ARM tablets and Intel Laptops.</span></li>
<li><span style="font-weight: normal;">These apps can be sold right off on the store and hence the name.</span></li>
<li><span style="font-weight: normal;">They can make use of 'Contracts' like share,search,access to file system,can play to DNLA network devices and much more.</span></li>
<li><span style="font-weight: normal;">They support view states<br />1.Full<br />2.Fill<br />3.Snap</span></li>
<li><span style="font-weight: normal;">Application Lifecycle which helps to determine the behaviour of the application according to the nature of the user.</span></li>
</ul>
<span style="font-family: Courier New, Courier, monospace;">Accessing Windows RT API using JS</span><br />
<div style="text-align: left;">
<span style="font-weight: normal;">Windows Namespace lets you have direct access to the winRT and the various low level APIs . </span></div>
<div style="text-align: left;">
<span style="font-weight: normal;">Example:</span></div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">Windows.ApplicationModel</span></li>
<li><span style="font-weight: normal;">Windows.Devices</span></li>
<li><span style="font-weight: normal;">Windows.Graphics</span></li>
</ul>
<span style="font-weight: normal;">But again,to code against these low level APIs will take much effort and to make things easier ; Microsoft built a wrapper on top of the 'Windows' Namespace and which is called as 'WinJS'.</span><br />
<div style="text-align: left;">
<span style="font-weight: normal;"><br /></span></div>
<div style="text-align: left;">
WinJS,sounds easy?</div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">WinJS object lets you have access to the windows namespace.</span></li>
<li><span style="font-weight: normal;">Comes with bunch of controls , the very same which the XAML devs have it in </span>Windows.XAML<span style="font-weight: normal;"> viz list boxes, ratings and much more</span></li>
<li><span style="font-weight: normal;">Gives access to App container and App Lifetime Events through </span>WinJS.Application</li>
<li><span style="font-weight: normal;">Simplifies View States </span></li>
<li><span style="font-weight: normal;">Helps us to create classes and namespaces, also dealing with Async and promises.</span></li>
<li><span style="font-weight: normal;">Offers predefined themes (Light & Dark)</span></li>
</ul>
Where and How is your App going to run?<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCnb5sT0eu3gm67cN3i7i4wSedhCyiIm33WyFRTZuDMrTKeiHgJwJ1RXn2rAIz7kbzYse4pJqRBi0lg6JAHV5z6rYEx3lpE1_q1nW5mlkpriXLGBkBm0NA2HFFbIzS6W-o5KuPiwrGgw4E/s1600/Screenshot+(6).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCnb5sT0eu3gm67cN3i7i4wSedhCyiIm33WyFRTZuDMrTKeiHgJwJ1RXn2rAIz7kbzYse4pJqRBi0lg6JAHV5z6rYEx3lpE1_q1nW5mlkpriXLGBkBm0NA2HFFbIzS6W-o5KuPiwrGgw4E/s1600/Screenshot+(6).png" height="225" width="400" /></a></div>
<div style="text-align: left;">
<span style="font-weight: normal;">After the user has downloaded your application off the store , in a system folder the app source will exist which means all the HTML5,CSS3 and JS files will be there.When the user launches it using the live tile, an App Container is created which is responsible for the lifetime of your application in the memory.Since JS, does not compile down to an executable ; so Windows includes "wwahost.exe" and this very same process which holds the 'Chakra JS Engine' and 'Trident HTML5 & CSS3 Engine' . Its important to know that these are the same engines which are used by IE10 but here we don't have IE running at all , instead its a process here.Finally, the HTML5 and CSS3 with the JS are pulled in ,processed by the engines and are rendered to the device.</span></div>
<div style="text-align: left;">
<br />
<span style="font-weight: normal;">Now that you have an idea about the Architecture and App Lifecycle .Let me quickly jump into App Container and explain how the application behaves.</span><br />
<br />
<span style="font-family: Courier New, Courier, monospace;">Application Container</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="font-weight: normal;"><br /></span></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="font-weight: normal;">Application Container in the memory is like a Sand Box in which the application runs.The application container gives managed access to the system resources and access to other files ,apps and devices through "contracts". Handles process life time viz Activation,Suspension and Termination.</span></span></div>
<div style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">How App Container deals with the code</span></div>
<div style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><span style="font-weight: normal;">The app container has some security implications while the code inside the app container executes and hence the app container has 3 major context in which the code runs </span></span></div>
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">Local Context</span></li>
<li><span style="font-weight: normal;">Web Context</span></li>
<li><span style="font-weight: normal;">Cross Context</span></li>
</ul>
<div style="font-weight: normal; text-align: left;">
<span style="font-weight: normal;"><br /></span></div>
<span style="font-weight: normal;">Local context</span><br /><ul style="text-align: left;">
<li><span style="font-weight: normal;">Has access to WinRT API</span></li>
<li><span style="font-weight: normal;">Can retrieve cross domain media</span></li>
<li><span style="font-weight: normal;">Can make XMLHttpRequests</span></li>
<li><span style="font-weight: normal;">CANNOT run remote scripts</span></li>
<li><span style="font-weight: normal;">Example : Standalone Apps</span></li>
</ul>
<span style="font-weight: normal;">Web Context</span><br />
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">Can load remote cross domain scripts</span></li>
<li><span style="font-weight: normal;">CANNOT access the local system using RT APIs</span></li>
<li><span style="font-weight: normal;">Example:Apps like Bing maps </span></li>
</ul>
<span style="font-weight: normal;">Cross Context</span><br />
<div style="text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-weight: normal;">Use an <i>iframe</i> in the local context in HTML5 page.</span></li>
<li><span style="font-weight: normal;">Load the <i>iframe</i> in the web context with the content that you want to send.</span></li>
<li><span style="font-weight: normal;">Use the </span>iframe.postMessage<span style="font-weight: normal;"> to pass messages back and forth.</span></li>
</ul>
<span style="font-family: Courier New, Courier, monospace;">How to bind and instantiate the resource with the context</span></h4>
<h4 style="text-align: left;">
Local Context<br /><ul style="text-align: left;">
<li><span style="font-weight: normal;">The very first page of the app has to be in the local context</span></li>
<li><span style="font-weight: normal;">Local resources loaded with ms-appx:// URIs</span></li>
</ul>
Web Context</h4>
<div style="text-align: left;">
<ul style="text-align: left;">
<li>Remote resources loaded with http or https schemes</li>
<li>local resources loaded with ms-appx-web:// schemes</li>
</ul>
<div>
<i><b>Now that you know enough about how and what to do.Lets simply pop out VS2013 and start off .Following screenshot will help you to know what to select in the project.</b></i></div>
<div>
<i><b><br /></b></i></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiijQ7RipCmbJHF6KTMk7aX8GXnr2-0ZbtxskHKXZX507Qlo68JmXr8E5N3aEY_4mMLTFo2o_hnjBSfMFd0i-_sWsQ5Y_pPMeMNLTIKFgTooeR8nGqRZ6MJhYY6hMLBc0_O6ZspKB0UzL2D/s1600/Screenshot+(7).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiijQ7RipCmbJHF6KTMk7aX8GXnr2-0ZbtxskHKXZX507Qlo68JmXr8E5N3aEY_4mMLTFo2o_hnjBSfMFd0i-_sWsQ5Y_pPMeMNLTIKFgTooeR8nGqRZ6MJhYY6hMLBc0_O6ZspKB0UzL2D/s1600/Screenshot+(7).png" height="225" width="400" /></a></div>
<div>
<i><b><br /></b></i></div>
<div>
So after you have selected the Blank app . You will have to put your HTML5 code and JS.For the guys who are not that good with codes or want to have an experience of how things look in the design time can hit "open in blend" by right clicking on the default.html file in the solution explorer.<br />
below is a view of how its gonna be.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJzRDDNQC0Uhrm0e0q-pjQT5O6mUlC2GrEU3Yjyo1Ualt-qq08FjbXvJoFDQ0xc_P-ul8VyXzSyaItajj7o3cONIkcB43TdtTK-3AjsU06PzLYxCbT8W4H6Tj0JHqPb1wfGDaq_ER4fQDl/s1600/Screenshot+(28).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJzRDDNQC0Uhrm0e0q-pjQT5O6mUlC2GrEU3Yjyo1Ualt-qq08FjbXvJoFDQ0xc_P-ul8VyXzSyaItajj7o3cONIkcB43TdtTK-3AjsU06PzLYxCbT8W4H6Tj0JHqPb1wfGDaq_ER4fQDl/s1600/Screenshot+(28).png" height="225" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvveGooxiQXWUDTigadMHAxcGL61bvBG0rOF8NEsS0VGLA0S-oZMwgavfQl0hEMHbx9uKlnzmMnO3mwseuYLy-LX_ELkkGCwYBqKHaTChqBdCLjn5YbTmz6Tq87Pv7185Nf2AaUuiqp7gD/s1600/Screenshot+(29).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvveGooxiQXWUDTigadMHAxcGL61bvBG0rOF8NEsS0VGLA0S-oZMwgavfQl0hEMHbx9uKlnzmMnO3mwseuYLy-LX_ELkkGCwYBqKHaTChqBdCLjn5YbTmz6Tq87Pv7185Nf2AaUuiqp7gD/s1600/Screenshot+(29).png" height="225" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
I have written an application and you can see it look and feel of the app in blend also can alter and edit anything on the design front.</div>
<div>
The developer has to keep in mind all the views of the app should be looking at least decent if not perfect.<br />
So below are the Screenshots of how my app looks like in the Filled,Snap and Portrait view<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8LT1VExILc-tAdnHNhzGBLXzKqJv9vO0hM_rRjN3s_8s_UDl_-2gXwF0qQyVdMZaGSrdMErwmiAOpwV3eByeyjC6WKw1D-KQZpWUEISNnALgqIMXHLLCLX_FpHPTVxk6ueu4fiSaJoOWd/s1600/Screenshot+(30).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8LT1VExILc-tAdnHNhzGBLXzKqJv9vO0hM_rRjN3s_8s_UDl_-2gXwF0qQyVdMZaGSrdMErwmiAOpwV3eByeyjC6WKw1D-KQZpWUEISNnALgqIMXHLLCLX_FpHPTVxk6ueu4fiSaJoOWd/s1600/Screenshot+(30).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRa4yaWqvzCo8ngSNHUdOnYX5xbLtWJGSpwd2z90_N3SzeekPcF2A8tCRHoxgwZCATaIvhBA76cKJs-39MoAPmFSv8Jpqz-G9KOzDiaKeI3L8wvyRsGL8P2Oyz7ySBhvY4j10uNaS-jC3R/s1600/Screenshot+(31).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRa4yaWqvzCo8ngSNHUdOnYX5xbLtWJGSpwd2z90_N3SzeekPcF2A8tCRHoxgwZCATaIvhBA76cKJs-39MoAPmFSv8Jpqz-G9KOzDiaKeI3L8wvyRsGL8P2Oyz7ySBhvY4j10uNaS-jC3R/s1600/Screenshot+(31).png" height="225" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu0zZXyvJzMFBDZchXsl_W_d5frljVZG-Lq3V-t-WMEIhZgD6BhH5r5y-hkEQRM8vsNsWewYNC36jEj0F5rCRIxHFtNYBOzlVOvAHKbkjcMn8ouHdqOwcR2Jn83ni7iaHaB7U3IUxqKusv/s1600/Screenshot+(32).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu0zZXyvJzMFBDZchXsl_W_d5frljVZG-Lq3V-t-WMEIhZgD6BhH5r5y-hkEQRM8vsNsWewYNC36jEj0F5rCRIxHFtNYBOzlVOvAHKbkjcMn8ouHdqOwcR2Jn83ni7iaHaB7U3IUxqKusv/s1600/Screenshot+(32).png" height="225" width="400" /></a></div>
</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
So now that you have an idea to how the apps work you should try making one for yourself and just for reference.you can get the app I demoed here on my <b style="background-color: white; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; text-align: start;"><a href="http://tinyurl.com/demoheremyam">http://tinyurl.com/demoheremyam</a></b></div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrtuLOhVQ8aGBfwEWp6JPvGumlHZtnsa6rJkfH-C7ACOpY4Adi6ptYCREAxZrugF1lWIWR4tGsBGcPz55tH-PSDQdfzVVAfUQAzHKJ8O18UrX9It3432z70cgDPtOwQkPVxFeCCCNt-ek/s1600/Screenshot+(10).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrtuLOhVQ8aGBfwEWp6JPvGumlHZtnsa6rJkfH-C7ACOpY4Adi6ptYCREAxZrugF1lWIWR4tGsBGcPz55tH-PSDQdfzVVAfUQAzHKJ8O18UrX9It3432z70cgDPtOwQkPVxFeCCCNt-ek/s1600/Screenshot+(10).png" height="225" width="400" /></a><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="" style="clear: both; text-align: center;">
Here is me testing at 5.00am</div>
</div>
</div>
<br /></div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com0tag:blogger.com,1999:blog-9016601721408860703.post-18140431808147607032014-12-24T18:44:00.001-08:002014-12-24T18:44:40.110-08:00Intro to Windows Azure<div dir="ltr" style="text-align: left;" trbidi="on">
<h3 style="text-align: left;">
<span style="color: #cc0000; font-family: Courier New, Courier, monospace; font-size: large;">Why Azure?</span><div style="text-align: left;">
<span style="color: #cc0000; font-family: Courier New, Courier, monospace; font-size: large;"> </span><span style="font-family: Courier New, Courier, monospace; font-size: small; font-weight: normal;">To answer this question lets look a bit ahead an analyze some question and on the basis of them derive what and why we go for azure.</span></div>
</h3>
<h4 style="text-align: left;">
<span style="color: #cc0000; font-family: Courier New, Courier, monospace; font-size: large;"> What Does it take to run an App on the Web?</span><div style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">So the few major things that decides the working and performance of the app on the web are </span></span></div>
<ul style="text-align: left;">
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">OS - How to keep our OS up to date.</span></span></li>
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Network - How load balancers,routers and DNS interact with our system.</span></span></li>
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Storage - How to manage the data required and generated by our application.</span></span></li>
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Scale - How to reach to many users who are geographically distributed.</span></span></li>
</ul>
The two major things which are SO not included in list we just made.</h4>
<h4 style="text-align: left;">
<ul style="text-align: left;">
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Everyone has to deal with this no matter what they are building.</span></span></li>
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">This has NOTHING to do with the application which we are building.</span></span></li>
</ul>
</h4>
<h4 style="text-align: left;">
<span style="color: #cc0000;"><span style="font-family: Courier New, Courier, monospace; font-size: large;">Is there any better way?</span></span></h4>
<div style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;">yes<span style="font-weight: normal;">,there is. There is something which can take care of all the complexities and let us only worry about the Application what we are building.</span><br /></span></div>
<h4 style="text-align: left;">
<span style="color: #cc0000; font-family: Courier New, Courier, monospace; font-size: large;">Here's Azure!</span><div style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Azure is Microsoft Cloud Computing platform.That means it is a place to run your application on the internet. But there's more, Windows Azure takes an application eccentric view ; which means from the initial design, development and testing to deploying on the cloud on the touch of a button to monitoring and scaling your application when its running on the internet.And finally, Azure helps you ti understand your application and build a better version and deploy it on the cloud without incurring any downtime.</span><br /></span></div>
</h4>
<h3 style="text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"><span style="color: #cc0000;">Azure's Structure</span></span></h3>
<div>
<ul style="text-align: left;">
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Fabric : Its the abstract set of compute resources in the data centers.Inside are many systems running windows.<br /></span></span></li>
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">Storage : The storage service is there to give you a reliable experience in a scalable way.<br /></span></span></li>
<li><span style="font-family: Courier New, Courier, monospace;"><span style="font-weight: normal;">The Developer Experience:The fabric, Storage with all the APIs on the cloud ; integrating them to visual studio and finally is given in the form of an SDK which can be downloaded for free.This means one can build and test apps locally before they can deploy them on the cloud.</span></span></li>
</ul>
<h4 style="text-align: left;">
<span style="color: #cc0000; font-family: Courier New, Courier, monospace; font-size: large;">The utility Model </span></h4>
</div>
<div style="text-align: left;">
<span style="font-weight: normal;"><span style="font-family: Courier New, Courier, monospace;"> The utility model is a pay-as-you-use model which means that Azures scales the application that is on the cloud in respect to the usage of resources. It's much like the electric bulb that you turn on and turn off everyday. The electricity you consume, you only pay for that much.This is one of the key features which helps any developer to make use of optimum resources , without wasting them.<br /><br />This is what Azure in a nutshell and how it can help you building the new coolest thing on the cloud.</span></span></div>
<br />
<br />
</div>
sumantrohttp://www.blogger.com/profile/04216458732709835483noreply@blogger.com1