Search Results

Search found 21478 results on 860 pages for 'content assist'.

Page 225/860 | < Previous Page | 221 222 223 224 225 226 227 228 229 230 231 232  | Next Page >

  • Unauthorized response from Server with API upload

    - by Ethan Shafer
    I'm writing a library in C# to help me develop a Windows application. The library uses the Ubuntu One API. I am able to authenticate and can even make requests to get the Quota (access to Account Admin API) and Volumes (so I know I have access to the Files API at least) Here's what I have as my Upload code: public static void UploadFile(string filename, string filepath) { FileStream file = File.OpenRead(filepath); byte[] bytes = new byte[file.Length]; file.Read(bytes, 0, (int)file.Length); RestClient client = UbuntuOneClients.FilesClient(); RestRequest request = UbuntuOneRequests.BaseRequest(Method.PUT); request.Resource = "/content/~/Ubuntu One/" + filename; request.AddHeader("Content-Length", bytes.Length.ToString()); request.AddParameter("body", bytes, ParameterType.RequestBody); client.ExecuteAsync(request, webResponse => UploadComplete(webResponse)); } Every time I send the request I get an "Unauthorized" response from the server. For now the "/content/~/Ubuntu One/" is hardcoded, but I checked and it is the location of my root volume. Is there anything that I'm missing? UbuntuOneClients.FilesClient() starts the url with "https://files.one.ubuntu.com" UbuntuOneRequests.BaseRequest(Method.{}) is the same requests that I use to send my Quota and Volumes requests, basically just provides all of the parameters needed to authenticate. EDIT:: Here's the BaseRequest() method: public static RestRequest BaseRequest(Method method) { RestRequest request = new RestRequest(method); request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; }; request.AddParameter("realm", ""); request.AddParameter("oauth_version", "1.0"); request.AddParameter("oauth_nonce", Guid.NewGuid().ToString()); request.AddParameter("oauth_timestamp", DateTime.Now.ToString()); request.AddParameter("oauth_consumer_key", UbuntuOneRefreshInfo.UbuntuOneInfo.ConsumerKey); request.AddParameter("oauth_token", UbuntuOneRefreshInfo.UbuntuOneInfo.Token); request.AddParameter("oauth_signature_method", "PLAINTEXT"); request.AddParameter("oauth_signature", UbuntuOneRefreshInfo.UbuntuOneInfo.Signature); //request.AddParameter("method", method.ToString()); return request; } and the FilesClient() method: public static RestClient FilesClient() { return (new RestClient("https://files.one.ubuntu.com")); }

    Read the article

  • sprite animation system height recalculating has some issues

    - by Nicolas Martel
    Basically, the way it works is that it update the frame to show every let's say 24 ticks and every time the frame update, it recalculates the height and width of the new sprite to render so that my gravity logics and stuff works well. But the problem i am having now is a bit hard to explain in words only, therefore i will use this picture to assist me The picture So what i need basically is that if let's say i froze the sprite at the first frame, then unfreeze it and freeze it at the second frame, have the second frame's sprite (let's say it's a prone move) simply stand on the foothold without starting the gravity and when switching back, have the first sprite go back on the foothold like normal without being under the foothold. I had 2 ideas on doing this but I'm not sure it's the most efficient ways to do it so i wanna hear your inputs.

    Read the article

  • Hardware from Oracle, Pricing for Education (HOPE) Program: New version now available!

    - by Cinzia Mascanzoni
    With HOPE Version 5, Oracle offers education institutions even more unmatched savings on its award-winning systems products making it more affordable for educational institutions to create scalable, high-performing, and low TCO teaching and learning environments. With special discounts for you, on selected Sun products from Oracle, the net result is that you can assist your Resellers in reducing the impact on their customers' budget in two ways: • Lower the total cost for technology acquisition of systems and hardware, for the end user • Reduce the environmental impact of the educational institutions served by your Resellers, by running and maintaining a lower cost, more efficient infrastructure Start today to take advantage of the new release of this exciting program from Oracle. Check the EMEA VAD Resource Center for a description of the products and discounts offered to you and to find links to more detailed information about these Sun products.

    Read the article

  • AJI Software is now a Microsoft Gold Application Lifecycle Management (ALM) Partner

    - by Jeff Julian
    Our team at AJI Software has been hard at work over the past year on certifications and projects that has allowed us to reach Gold Partner status in the Microsoft Partner Program.  We have focused on providing services that not only assist in custom software development, but process analysis and mentoring.  I definitely want to thank each one of our team members for all their work.  We are currently the only Microsoft Gold ALM Partner for a 500 mile radius around Kansas City. If you or your team is in need of assistance with Team Foundation Server, Agile Processes, Scrum Mentoring, or just a process/team assessment, please feel free to give us a call.  We also have practices focused on SharePoint, Mobile development (iOS, Android, Windows Mobile), and custom software development with .NET.  Technorati Tags: Gold Partner,ALM,Scrum,TFS,AJI Software

    Read the article

  • Top 10 Oracle Solaris How To Articles

    - by Glynn Foster
    While generating new technical content for Oracle Solaris 11 is one of our higher priorities here at Oracle, it's always fun to have a look at some web stats to see what existing published content is popular among our audience. So here's the top ten as voted by your browsers. Interestingly it's a great mix of technologies. What's your favourite? Let us know! RankHow To Articles 1.Taking your first steps with Oracle Solaris 11 2.How to get started creating Zones on Oracle Solaris 11 3.How to script Oracle Solaris 11 Zone creation for a network in a box configuration 4.How to configure Oracle Solaris 11 using the sysconfig command 5.How to update Oracle Solaris 11 systems using Support Repository Updates 6.How to perform system archival and recovery with Oracle Solaris 11 7.Introducing the basics of IPS on Oracle Solaris 11 8.How to update to Oracle Solaris 11.1 using IPS 9.How to set up Automated Installer services on Oracle Solaris 11 10.How to live install from Oracle Solaris 10 to Oracle Solaris 11 11/11

    Read the article

  • Advisor Webcast: Remote Diagnostic Agent (RDA) Use with EPM/BI Applications

    - by THE
    Maurice Bauhan and Ian Bristow will run an Advisor Webcast on the use of RDA with the EPM / BI Applications. Learn how to install, run, and analyze outputs of Remote Diagnostic Agent. RDA is a free tool for Oracle customers that could save you time as you work with your subset of most Oracle software. This one-hour session presented by senior proactive support engineers is recommended for technical users and support contacts. The session will include information on: Download and install of Remote Diagnostic Agent Run RDA, narrowing data retrieval to the context of Oracle products you need to investigate Analyze the RDA program outputs Via My Oracle Support Help the engineers at Oracle and assist communities with what you learn There will be 2 sessions: 12/15/2011 - 09:00 GMT (10:00 CET) - register here ( note 1376286.1 )12/15/2011 - 16:00 GMT (17:00 CET) - register here ( note 1376323.1 ) an overview of all upcoming Advisor Webcasts can be found in note 740966.1 Find more information about Advisor Webcasts: All future Advisor Webcasts | All recorded Advisor Webcasts | Support specific recorded Webcasts

    Read the article

  • Will these type of 403 errors affect my ranking?

    - by Gkhan14
    Let's say I have a directory that has a 403 forbidden error for all of the content in it, however a few of the images in the subdirectoies of the main diretory do NOT have a 403 forbidden error. Will this fact affect my ranking? For example: test.com/system/ (HAS 403 ERROR FOR ALL FILES) - test.com/system/pie/ (HAS 403 ERROR FOR ALL FILES) - test.com/system/pie/image.png (DOES NOT HAVE A 403 ERROR, AND THIS IMAGE IS EMBEDED ON A PAGE ON test.com e.g(test.com/pie/)) This sort of pattern repeats for about 10 different images. This directory is like a secret "system", however all of the content on the main site (test.com) is still accessible to everyone from the public.

    Read the article

  • How to add a subclass to a viewcontroller in storyboard

    - by Ken Barlo
    Here's what I've created I created a view controller element (in storyboard) I created a new viewcontroller .h and .m file Here's my issue Can't seem to figure out how to get the content that I've added to the .m file to show up on the view controller element in the storyboard once the app is launched and the selection for that view controller element is made in the iPhone simulator. Although I am able to see content that is already added to a .m file on the home screen and activity screen when the selection is made in the iPhone simulator. Hope that makes sense, if not please ask and I'll be more than happy to provide more info.

    Read the article

  • How to visit automatically a website in the background after Ubuntu loads

    - by Bakhtiyor
    I wanted to know how to automatically visit a website in the background when Ubuntu loads. As far as I know w3m is for visiting web site from the console. That is why I am writing following command in the crontab -e. @reboot w3m http://example.com/ > test_file The reason for writing content of the web site into a test_file is just to know whether this command has been executed or no. Unfortunately it is not executing every time Ubuntu loads. But next command which comes after it and looks like this: @reboot date >> reboot_file is being executed every time. What is wrong with my command? Because when I execute it in the console it output content of the example.com into test_file. Is there any other options to do that?

    Read the article

  • How can I calibrate my printer using the LaTeX test page?

    - by Chris
    I am trying to print a LaTeX compiled document but my printer doesn't print the top part. It seems that the top part is outside of the printing range. To debug this problem I have printed the LaTeX test page (/usr/share/texmf-texlive/tex/latex/base/testpage.tex) and it turns out that my printer is placing the content about 4.5mm closer to the top of the page than it should. How can I calibrate my printer/driver so that it will place the content where it is supposed to go? I am using an HP OfficetJet 7300 printer with hplip.

    Read the article

  • Pair programming and unit testing

    - by TheSilverBullet
    My team follows the Scrum development cycle. We have received feedback that our unit testing coverage is not very good. A team member is suggesting the addition of an external testing team to assist the core team, but I feel this will backfire in a bad way. I am thinking of suggesting pair programming approach. I have a feeling that this should help the code be more "test-worthy" and soon the team can move to test driven development! What are the potential problems that might arise out of pair programming??

    Read the article

  • Use Case Diagrams - should I create a diagram just for a view business rule?

    - by Periback
    I'm modeling a UCD where I have two actors ( a content producer and a developer).. the content producer is going to create and specify details of a storyboard functionality, and the other actor (developer) will only be able to view this storyboard ( he'll log in the application and read the storyboard to start developing what it says, outside the application..) I'm working on the specification of this storyboard functionality and I'd like to know it would be like a best-practice if I describe something like " actor- developer", "UCD - read scenes of storyboard" . This is the specification of an application I developed for my thesis and they asked me to add some specification...

    Read the article

  • In dual boot PC, the boot/GRUB menu suddenly disappeared (Ubuntu option is not appearing anymore)

    - by iammilind
    I have been using Ubuntu 13.04 as my primary OS for quite sometime on Sony VAIO laptop with other OS being windows 8 (never use it). Till today, everything was fine. In the evening I had shut down my PC and closed the lid; Typically I do this when the shutting down screen is still on. But probably this time it was fatal. When I again restarted my PC, now no menu is appearing for selecting OS and it directly goes for Windows 8. My question is similar to this thread, but I don't have Ubuntu CD as I had installed using pen drive sometime back. Is there any (genuine or workaround) easier way to get back the GRUB menu back in the place? Note that keyboard shortcuts in Sony VAIO is different, here I have an "Assist" menu as well to get those internal options.

    Read the article

  • How to automatically visit a website in the background after Ubuntu booted?

    - by Bakhtiyor
    I wanted to know how to automatically visit a website in the background when Ubuntu loads. As far as I know w3m is for visiting web site from the console. That is why I am writing following command in the crontab -e. @reboot w3m http://example.com/ > test_file The reason for writing content of the web site into a test_file is just to know whether this command has been executed or no. Unfortunately it is not executing every time Ubuntu loads. But next command which comes after it and looks like this: @reboot date >> reboot_file is being executed every time. What is wrong with my command? When I execute it in the console it outputs the content of the example.com into test_file. Is there any other options to do that?

    Read the article

  • Be careful when Git suppresses bin Folders

    - by Marko Apfel
    Initial situation Often for Visual Studio projects the typical content of a .gitignore file contains this line bin or [B|b]in It is used to avoid that Git tries to track compile outputs as repository relevant data. Problem But keep in mind: this will also suppress bin folders of additional stuff like frameworks and toolsets. For instance Microsoft.SDKs contains a folder named Bin with a lot of programs Simian contains a folder named bin with the program themselves If you store such artifacts also in the repository - according to the principle of a “self containing project” – you could lost the content in the bin folder! Solution Till yet I don’t have a good idea. So I verify for each new added toolset or framework whether it has or has not such a bin folder. If it has, then I must add this bin folder manually to the repository so that Git track it.

    Read the article

  • May I remove ads from feed in my news reader app?

    - by Mahdi Ghiasi
    I'm creating a News Reader app for Tablets and PCs. My app is fetching data from news sources by RSS feed of websites (in the server-side). But some of these sites are showing some advertising banners at the end of each article. Should I remove those banners from the feed? Am I legally/ethically allowed to do this? And what about If I want to put some other ads in my application? (Right at the end of each article) I mean, If I want to have my own advertising service... Update: And what if I use feed for content titles and summaries, but use other thing, like Readability API to show full article, and then put my own ads below content? (Readability gets the HTML page, and gives you a clean page without any ads and such.)

    Read the article

  • How do I push code to github on shutdown?

    - by Ezequiel
    I switch between working at home and the office, and sometimes, like today, I forget to run a git commit/push. (I find it easy to ignore the command line since I'm still kind of a beginner, there.) How can I make it so that when I shut down my Ubuntu OS, it will follow this process: Check my local code against the github server, executing the rest of this script only if I've made newer changes. Add all new files. Make commits with a basic default comment. Push all changed code to origin master. If anyone knows how to do this, it would be a major assist. Also, anyone know how to do it for Mac OSX? :D

    Read the article

  • Oracle Hosts Successful PeopleSoft Customer Advisory Board Meetings

    - by Mark.Hoernemann
    Last week, Oracle hosted the annual Customer Advisory Board meetings for various PeopleSoft applications, including the PeopleTools CAB.  The three day event at the Oracle headquarters brought together over 90 customers, with over 170 representatives taking part.  This was the largest CAB event PeopleSoft has had to date.  The focus of the event was to share our vision for PeopleSoft, and gain valuable input from our customer base on our direction and focus areas.  The customer feedback we received for the event was extremely positive, matching the sentiment on our side.  The information our CAB members provided was excellent; it will help ensure that we focus on the areas that matter most to our customers.   I’d like to thank all the customers that took the time out of their schedules to hear where we’re looking to go in the future, and provide guidance on how we can best assist our customer base on remaining successful in the marketplace.

    Read the article

  • Disqus integration in website.. what is wrong??

    - by Thieme Hennis
    hi, I try to embed a disqus forum in a website I created. I used the exact code and instructions they give on the installation instructions. I just don't get it. Not much on Google either. Is something wrong in the code? Should I change anything? <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="shortcut icon" href="../favicon.ico"> <title>Little Louie | Hennis &amp; Blaisse Lovers Productions</title> <META NAME="keywords" CONTENT="some,tags"> <link href="../style2.css" rel="stylesheet" type="text/css"> </head> <body> <p><b>Some text</p> <p> <div id="disqus_thread"></div> <script type="text/javascript"> (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = 'http://littelouie.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript=littelouie">comments powered by Disqus.</a></noscript> <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a> </p> <p> <script type="text/javascript"> var disqus_shortname = 'littelouie'; (function () { var s = document.createElement('script'); s.async = true; s.src = 'http://disqus.com/forums/littelouie/count.js'; (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); }()); </script> </p> </body> </html>

    Read the article

  • HTML background-size:cover with floating objects

    - by Mikhail
    I have a trivial page with body having an image background, with background-size:cover. I set html { height:100% } to fill up the entire page regardless of the content amount. Up to this point everything worked as expected. I've added a div and set position:absolute; right:0; width:200px; This, again, worked as expected, until I added content. When this div is populated so much that the contents take up more space than the height of the page, the scroll bar appears. Scrolling down reveals that the background image does not actually cover the entire page. This is due to the fact that my div is taller than 100% of the HTML height. How can I address this?

    Read the article

  • Unable to mount 1TB USB external HDD - Error

    - by superbDeveloper
    Hi, I'm getting an error when I plug in my 1TB USB external HDD, the wierd thing about this is that it was working fine before and I've been using it for about a couple of months now. yesterday I compressed one of the folders which had about 120GB of data but the compression failed after an hour and I decided to unmount the drive and shut everything down. Today when I tried to plug in the drive I got the following error: Error mounting: mount: wrong fs type, bad option, bad superblock on /dev/sdc, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so output of cat /proc/partitions below muzikayise@muzikayise-supercom:~$ sudo fdisk -l /dev/sdc Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x39dcba64 Device Boot Start End Blocks Id System please will someone kindly assist with this? thanks in advance,

    Read the article

  • Where to find Joomla components for 1.0.X?

    - by Matt Handy
    I need to add new functionality to an old Joomla 1.0.15 installation. To be concrete, I need to add a component that allows me to add custom javascript to my content. I know that there is the option to edit the html source of the content but I rather would like to use a module for this. So I see two options (correct me if there are more): Update Joomla to at least version 1.5 (From some forum posts I found out that can be somewhat complicated). I don't know if it is worth the effort since new functionality requirements come rarely (and I think my client doesn't want to pay for a Joomla version update). Find an appropriate component and leave the old installation as it is. Can anyone point me into the right direction?

    Read the article

  • Netflix Rolls Out Polished New iPhone and Android Apps [Video]

    - by Jason Fitzpatrick
    If you’re a Netflix subscriber, you’ve got a brand spanking new mobile interface to take for a spin. Last week Netflix released a brand new iOS interface, this week it’s a brand new Android interface. The above video showcases the new iOS interface for mobile playback on devices like the iPhone and iPad. The slick new layout makes it even easier to browser new content and resume watching content you’ve paused at home or on the go. For a peek at the new (and similar) Android interface, check out the video below: For more information about the respective apps, visit their download pages to read up and grab a copy. Netflix for Android / iOS How To Create a Customized Windows 7 Installation Disc With Integrated Updates How to Get Pro Features in Windows Home Versions with Third Party Tools HTG Explains: Is ReadyBoost Worth Using?

    Read the article

  • Java Spotlight Episode 101: JavaOne 2012 Part 2 - Community Events

    - by Roger Brinkley
    An interview with Martijn Verberg on Adopt A JSR, Nichole Scott and John Yeary on Community, and Hellena O'Dell on the Oracle Musical Festival about community events and happenings at JavaOne 2012. Right-click or Control-click to download this MP3 file. You can also subscribe to the Java Spotlight Podcast Feed to get the latest podcast automatically. If you use iTunes you can open iTunes and subscribe with this link:  Java Spotlight Podcast in iTunes. Show Notes Events Sep 30-Oct 4, JavaONE, San Francisco Oct 3-4, Java Embedded @ JavaONE, San Francisco Oct 15-17, JAX London Oct 30-Nov 1, Arm TechCon, Santa Clara Oct 22-23, Freescale Technology Forum - Japan, Tokyo Oct 31, JFall, Netherlands Nov 2-3, JMagreb, Morocco Nov 13-17, Devoxx, Belgium Feature InterviewAdopt a JSR Adopt a JSR Home Adopt OpenJDK Home LJC's Adopt a JSR jClarity - Java Performance Tuning for the Cloud Community Events at JavaOne User Groups at Oracle World and JavaOne To access the Java User Group content on Sunday, go to the content catalog for JavaOne and filter the search criteria to Sunday sessions Oracle Music Festival

    Read the article

  • Farseer tutorial for the absolute beginners

    - by Bil Simser
    This post is inspired (and somewhat a direct copy) of a couple of posts Emanuele Feronato wrote back in 2009 about Box2D (his tutorial was ActionScript 3 based for Box2D, this is C# XNA for the Farseer Physics Engine). Here’s what we’re building: What is Farseer The Farseer Physics Engine is a collision detection system with realistic physics responses to help you easily create simple hobby games or complex simulation systems. Farseer was built as a .NET version of Box2D (based on the Box2D.XNA port of Box2D). While the constructs and syntax has changed over the years, the principles remain the same. This tutorial will walk you through exactly what Emanuele create for Flash but we’ll be doing it using C#, XNA and the Windows Phone platform. The first step is to download the library from its home on CodePlex. If you have NuGet installed, you can install the library itself using the NuGet package that but we’ll also be using some code from the Samples source that can only be obtained by downloading the library. Once you download and unpacked the zip file into a folder and open the solution, this is what you will get: The Samples XNA WP7 project (and content) have all the demos for Farseer. There’s a wealth of info here and great examples to look at to learn. The Farseer Physics XNA WP7 project contains the core libraries that do all the work. DebugView XNA contains an XNA-ready class to let you view debug data and information in the game draw loop (which you can copy into your project or build the source and reference the assembly). The downloaded version has to be compiled as it’s only available in source format so you can do that now if you want (open the solution file and rebuild everything). If you’re using the NuGet package you can just install that. We only need the core library and we’ll be copying in some code from the samples later. Your first Farseer experiment Start Visual Studio and create a new project using the Windows Phone template can call it whatever you want. It’s time to edit Game1.cs 1 public class Game1 : Game 2 { 3 private readonly GraphicsDeviceManager _graphics; 4 private DebugViewXNA _debugView; 5 private Body _floor; 6 private SpriteBatch _spriteBatch; 7 private float _timer; 8 private World _world; 9 10 public Game1() 11 { 12 _graphics = new GraphicsDeviceManager(this) 13 { 14 PreferredBackBufferHeight = 800, 15 PreferredBackBufferWidth = 480, 16 IsFullScreen = true 17 }; 18 19 Content.RootDirectory = "Content"; 20 21 // Frame rate is 30 fps by default for Windows Phone. 22 TargetElapsedTime = TimeSpan.FromTicks(333333); 23 24 // Extend battery life under lock. 25 InactiveSleepTime = TimeSpan.FromSeconds(1); 26 } 27 28 protected override void LoadContent() 29 { 30 // Create a new SpriteBatch, which can be used to draw textures. 31 _spriteBatch = new SpriteBatch(_graphics.GraphicsDevice); 32 33 // Load our font (DebugViewXNA needs it for the DebugPanel) 34 Content.Load<SpriteFont>("font"); 35 36 // Create our World with a gravity of 10 vertical units 37 if (_world == null) 38 { 39 _world = new World(Vector2.UnitY*10); 40 } 41 else 42 { 43 _world.Clear(); 44 } 45 46 if (_debugView == null) 47 { 48 _debugView = new DebugViewXNA(_world); 49 50 // default is shape, controller, joints 51 // we just want shapes to display 52 _debugView.RemoveFlags(DebugViewFlags.Controllers); 53 _debugView.RemoveFlags(DebugViewFlags.Joint); 54 55 _debugView.LoadContent(GraphicsDevice, Content); 56 } 57 58 // Create and position our floor 59 _floor = BodyFactory.CreateRectangle( 60 _world, 61 ConvertUnits.ToSimUnits(480), 62 ConvertUnits.ToSimUnits(50), 63 10f); 64 _floor.Position = ConvertUnits.ToSimUnits(240, 775); 65 _floor.IsStatic = true; 66 _floor.Restitution = 0.2f; 67 _floor.Friction = 0.2f; 68 } 69 70 protected override void Update(GameTime gameTime) 71 { 72 // Allows the game to exit 73 if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) 74 Exit(); 75 76 // Create a random box every second 77 _timer += (float) gameTime.ElapsedGameTime.TotalSeconds; 78 if (_timer >= 1.0f) 79 { 80 // Reset our timer 81 _timer = 0f; 82 83 // Determine a random size for each box 84 var random = new Random(); 85 var width = random.Next(20, 100); 86 var height = random.Next(20, 100); 87 88 // Create it and store the size in the user data 89 var box = BodyFactory.CreateRectangle( 90 _world, 91 ConvertUnits.ToSimUnits(width), 92 ConvertUnits.ToSimUnits(height), 93 10f, 94 new Point(width, height)); 95 96 box.BodyType = BodyType.Dynamic; 97 box.Restitution = 0.2f; 98 box.Friction = 0.2f; 99 100 // Randomly pick a location along the top to drop it from 101 box.Position = ConvertUnits.ToSimUnits(random.Next(50, 400), 0); 102 } 103 104 // Advance all the elements in the world 105 _world.Step(Math.Min((float) gameTime.ElapsedGameTime.TotalMilliseconds*0.001f, (1f/30f))); 106 107 // Clean up any boxes that have fallen offscreen 108 foreach (var box in from box in _world.BodyList 109 let pos = ConvertUnits.ToDisplayUnits(box.Position) 110 where pos.Y > _graphics.GraphicsDevice.Viewport.Height 111 select box) 112 { 113 _world.RemoveBody(box); 114 } 115 116 base.Update(gameTime); 117 } 118 119 protected override void Draw(GameTime gameTime) 120 { 121 GraphicsDevice.Clear(Color.FromNonPremultiplied(51, 51, 51, 255)); 122 123 _spriteBatch.Begin(); 124 125 var projection = Matrix.CreateOrthographicOffCenter( 126 0f, 127 ConvertUnits.ToSimUnits(_graphics.GraphicsDevice.Viewport.Width), 128 ConvertUnits.ToSimUnits(_graphics.GraphicsDevice.Viewport.Height), 0f, 0f, 129 1f); 130 _debugView.RenderDebugData(ref projection); 131 132 _spriteBatch.End(); 133 134 base.Draw(gameTime); 135 } 136 } 137 Lines 4: Declare the debug view we’ll use for rendering (more on that later). Lines 8: Declare _world variable of type class World. World is the main object to interact with the Farseer engine. It stores all the joints and bodies, and is responsible for stepping through the simulation. Lines 12-17: Create the graphics device we’ll be rendering on. This is an XNA component and we’re just setting it to be the same size as the phone and toggling it to be full screen (no system tray). Lines 34: We create a SpriteFont here by adding it to the project. It’s called “font” because that’s what the DebugView uses but you can name it whatever you want (and if you’re not using DebugView for your production app you might have several fonts). Lines 37-44: We create the physics environment that Farseer uses to contain all the objects by specifying it here. We’re using Vector2.UnitY*10 to represent the gravity to be used in the environment. In other words, 10 units going in a downward motion. Lines 46-56: We create the DebugViewXNA here. This is copied from the […] from the code you downloaded and provides the ability to render all entities onto the screen. In a production release you’ll be doing the rendering yourself of each object but we cheat a bit for the demo and let the DebugView do it for us. The other thing it can provide is to render out a panel of debugging information while the simulation is going on. This is useful in tracking down objects, figuring out how something works, or just keeping track of what’s in the engine. Lines 49-67: Here we create a rigid body (Farseer only supports rigid bodies) to represent the floor that we’ll drop objects onto. We create it by using one of the Farseer factories and specifying the width and height. The ConvertUnits class is copied from the samples code as-is and lets us toggle between display units (pixels) and simulation units (usually metres). We’re creating a floor that’s 480 pixels wide and 50 pixels high (converting them to SimUnits for the engine to understand). We also position it near the bottom of the screen. Values are in metres and when specifying values they refer to the centre of the body object. Lines 77-78: The game Update method fires 30 times a second, too fast to be creating objects this quickly. So we use a variable to track the elapsed seconds since the last update, accumulate that value, then create a new box to drop when 1 second has passed. Lines 89-94: We create a box the same way we created our floor (coming up with a random width and height for the box). Lines 96-101: We set the box to be Dynamic (rather than Static like the floor object) and position it somewhere along the top of the screen. And now you created the world. Gravity does the rest and the boxes fall to the ground. Here’s the result: Farseer Physics Engine Demo using XNA Lines 105: We must update the world at every frame. We do this with the Step method which takes in the time interval. [more] Lines 108-114: Body objects are added to the world but never automatically removed (because Farseer doesn’t know about the display world, it has no idea if an item is on the screen or not). Here we just loop through all the entities and anything that’s dropped off the screen (below the bottom) gets removed from the World. This keeps our entity count down (the simulation never has more than 30 or 40 objects in the world no matter how long you run it for). Too many entities and the app will grind to a halt. Lines 125-130: Farseer knows nothing about the UI so that’s entirely up to you as to how to draw things. Farseer is just tracking the objects and moving them around using the physics engine and it’s rules. You’ll still use XNA to draw items (using the SpriteBatch.Draw method) so you can load up your usual textures and draw items and pirates and dancing zombies all over the screen. Instead in this demo we’re going to cheat a little. In the sample code for Farseer you can download there’s a project called DebugView XNA. This project contains the DebugViewXNA class which just handles iterating through all the bodies in the world and drawing the shapes. So we call the RenderDebugData method here of that class to draw everything correctly. In the case of this demo, we just want to draw Shapes so take a look at the source code for the DebugViewXNA class as to how it extracts all the vertices for the shapes created (in this case simple boxes) and draws them. You’ll learn a *lot* about how Farseer works just by looking at this class. That’s it, that’s all. Simple huh? Hope you enjoy the code and library. Physics is hard and requires some math skills to really grok. The Farseer Physics Engine makes it pretty easy to get up and running and start building games. In future posts we’ll get more in-depth with things you can do with the engine so this is just the beginning. Enjoy!

    Read the article

< Previous Page | 221 222 223 224 225 226 227 228 229 230 231 232  | Next Page >